快速PDF分割器库

时间:2009-02-03 17:42:37

标签: python c pdf pypdf

pyPdf是一个很好的库,可以拆分,合并PDF文件。 我用它将pdf文档分成1页文档。 pyPdf是纯python,在保存提取的页面时,在PdfFileWriter对象的_sweepIndirectReferences()方法中花费了大量的时间。我需要一些性能更好的东西。我尝试过使用多线程但由于大部分时间花在python代码上,因为GIL没有速度增加(实际上运行速度较慢)。

是否有用c编写的库提供相同的功能?或者是否有人对如何提高性能有很好的了解(除了为每个我要分割的pdf文件生成新进程外)

提前谢谢。

跟进。 链接到几个命令行解决方案,有时可以证明比pyPDF更快:

我修改了pyPDF PdfWriter类来跟踪_sweepIndirectReferences()方法花了多少时间。如果它太长了(现在我使用3秒的魔法值)然后我通过从python调用它来恢复使用ghostscript。

感谢您的所有答案。 (codelogic的xpdf参考是让我寻找不同方法的参考)

4 个答案:

答案 0 :(得分:3)

mbtPdfAsm是一个用于PDF处理的快速开源命令行工具。

Xpdf也值得一提,因为它是GPL并用C ++编写。源代码很好地模块化,允许编写命令行工具。

答案 1 :(得分:2)

它必须是python吗?我的纯Perl库CAM::PDF非常快速地附加和删除PDF文档页面。在可能的情况下,它可以在最后节省扫描。

答案 2 :(得分:1)

pdfLaTex可以进行大量的PDF管理,而且非常快。

我已将它用于一些非常复杂的拼版蠕虫。 TeX语言对于编程来说真的很陌生,但是编写一个生成所需LaTex布局并处理它的python脚本很容易。

答案 3 :(得分:1)

您是否尝试将Psyco与pyPdf一起使用?