Python PDF合并太慢

zc0qhyus  于 2022-12-28  发布在  Python
关注(0)|答案(1)|浏览(165)

我正在使用PyPDF2的PDFMerger。我的程序基本上是阅读一个文件夹中的所有PDF文件,并将它们合并成一个单一的文件。我已经做了一个测试,15个PDF文件,每个都是99KB,它的工作就像一个魅力。整个过程在一秒钟内完成。但是,当我尝试与大量的过程花了太长的时间,然后我预期。我已经尝试合并1000个文件,每个都是99KB,阅读和附加所有这些PDF文件总共花了3秒,但写PDF文件时花了67秒。2我试过2级合并(500到1和其他500到其他1然后合并最后2),但时间差不多。3有什么方法可以加快这个写作过程吗?
我在下面添加我的代码。

merger = PdfMerger()
            for pdf in dirs:
                if pdf.endswith('pdf'):
                       merger.append(pdf)

            merger.write(filename)
            merger.close()

我的PyPDF2版本是2.11.2。输入文件大小为99kb,1页,1000x99kb的输出文件大小为20.050kb

2izufjch

2izufjch1#

这是一个很长的评论,而不是一个答案。
我刚刚在PyPDF2的最新版本中尝试了这个方法:

from PyPDF2 import PdfReader, PdfWriter
import time

reader =PdfReader("a-two-page-doc.pdf")
writer = PdfWriter()

for i in range(1000):
    writer.append(reader)

t0 = time.time()
with open("out-2000-pages.pdf", "wb") as fp:
    writer.write(fp)
t1 = time.time()

print(f"{t1-t0:.2f}s")

在我的机器上花了大约0.67秒。
你用的是哪个版本的PyPDF2?哪个版本的Python?是不是有一些关于特定PDF的东西?单个PDF有多大?你启用了一些压缩功能吗?
如果没有更多的细节,没有人能帮助你。

相关问题