【问题标题】:Ghostscript Combine PDfs and Multithread/CoreGhostscript 结合 PDfs 和多线程/核心
【发布时间】:2013-08-21 23:37:48
【问题描述】:

)

我知道有几个关于类似内容的问题和线索,但没有一个对我有用。 我正在尝试将约 1000 个 pdf 文件合并为一个。我尝试了几个工具,但只有 gs (ghostscript) 可以进行适当的压缩。 我的问题是多线程不工作/我有 24 核并且喜欢使用例如8 用于任务,但 top 告诉我它仍然只使用一个。我的命令:

gs -q -dNOPAUSE -dNOPROMPT -q -dBATCH -dNumRenderingThreads=8 -dBandHeight=100 -dBandBufferSpace=500000000 -sBandListStorage=memory -dBufferSpace=1000000000 -sDEVICE=pdfwrite -sOutputFile=combined_gs.pdf sourcefiles/*.pdf

我必须加快速度,因为它大约需要 60 秒,而且我需要这个。 有什么建议吗?

【问题讨论】:

    标签: linux multithreading pdf ghostscript


    【解决方案1】:

    pdfwrite 设备不使用线程(这样做会很困难)。线索在名称“NumRenderingThreads”中,pdfwrite 不render

    由于它不渲染 BandHeight,BandBufferSpace、BandListStorage 和 BufferSpace 也将不起作用。 (您还指定了两次 -q)

    请注意,Ghostscript 和 pdfwrite 设备不会“操纵”PDF 输入,也不会合并、连接或任何类似操作。它所做的是解释所有输入,创建一组图形基元,然后将这些基元重新组合成一个全新的 PDF 输出文件。新的输出文件与任何输入都没有任何共同之处,我们的目标是视觉外观应该相同。虽然我们确实处理了来自输入的许多非制造对象,但这些都是次要的。

    很明显,这是一个比将 PDF 文件的内容视为一系列可以重新排列的构建块复杂得多的过程,这就是它变慢的原因。老实说,在 1 分钟内阅读、解释、重写 1000 个文件对我来说似乎很快。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-13
      • 1970-01-01
      • 1970-01-01
      • 2016-08-29
      • 2013-03-02
      • 2011-02-07
      • 1970-01-01
      • 2013-01-17
      相关资源
      最近更新 更多