首页 > 解决方案 > 在指定页面合并多个 PDF

问题描述

我正在尝试使用 Python 在我想要的特定页面上合并多个 PDF。例如,假设我们有 3 个 pdf,我想在第 2 页合并第二个,在第 22 页合并第三个。

这个答案给了我一些可以使用的东西,如果只有两个 pdf,这实际上很好;但是超过 2 我无法让它工作。

from PyPDF2 import PdfFileMerger

pdfs = ['sample1.pdf', 
        'sample2.pdf',
        'sample3.pdf']

merger = PdfFileMerger( )

for pdf in pdfs:
    merger.merge(3, pdf)

merger.write("result.pdf")
merger.close()

这将在第 3 页后添加 sample2,然后在第 3 页后添加 sample3,这将导致 sample2 移位。我也查看了PdfFileMerger 的文档,但找不到我想要的优雅解决方案。我知道我可以让它与多次尝试一起工作(例如,多次 for 循环),但我希望有一个简单的解决方案可以一次性完成所有操作。

标签: pythonpdfpypdf2

解决方案


主要思想是您开始以相反的顺序合并 pdf,以便最终合并 pdf,这不会影响排序。


推荐阅读