繁体   English   中英

如何使用 PyPDF2 加速合并多个 PDF 文件

[英]How to speed up merging multiple PDF files using PyPDF2

我正在尝试使用此代码使用 pypdf2 合并 5 个 pdf 文件:

import os

from PyPDF2 import PdfMerger

source_dir = r"C:\Users\Aparns\Downloads\speeddata"
merger = PdfMerger(strict=True)

for item in os.listdir(source_dir):
    if item.endswith("pdf"):
        merger.append(source_dir + item)

merger.write(source_dir + r"C:\Users\Aparns\Downloads\speeddata\Complete.pdf")
merger.close()

pdf个文件存放在speeddata目录下。 此过程花费太多时间进行响应。 有没有其他方法可以做到这一点?

我是 pypdf 和PyPDF2的当前维护者。 我认为使用pypdf / PyPDF2 (或任何其他 pypdf 项目)没有更快的方法。 如果有,请告诉我,我们可以将其添加到 合并文档中。

一些建议:

  1. 切换到pypdf PyPDF2已弃用。
  2. 使用strict=False (默认)
  3. 避免自己open文件。 pypdf 这样做 - 它也再次关闭文件句柄

使用 Python 从 PyPDF2 导入 PdfFileMerger 合并两个 PDF 文件。 #Create and instance of PdfFileMerger() class.merger = PdfFileMerger() #Create 一个包含文件名的列表。 pdf_files = ['pdf_files/sample_page1.pdf', 'pdf_files/sample_page2.pdf'] #迭代文件名列表。 合并。 追加(pdf_文件)

这个简单的代码对我有用而且速度非常快

from PyPDF2 import PdfFileReader, PdfFileMerger
f1=PdfFileReader(open(r"C:\Users\Aparna\Downloads\Speed Vs Time (5).pdf","rb"))
f2=PdfFileReader(open(r"C:\Users\Aparna\Downloads\Speed Vs Time (4).pdf","rb"))
merger = PdfFileMerger(strict=True)
merger.append(f1)
merger.append(f2)
merger.write('new.pdf')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM