使用 Python 合并 PDF 文件
Python 提供了强大的 PDF 文件合并选项,允许您将多个文档合并为一个统一的文档。本教程将指导您完成整个过程,包括循环目录和排除特定页面等高级技术。
使用 pypdf 合并类
pypdf 提供 PdfMerger 类,该类提供了一种简单的方法来连接和合并 PDF 文件。
文件连接
通过使用追加方法附加文件来连接文件:
<code class="python">import PdfMerger pdfs = ['file1.pdf', 'file2.pdf', 'file3.pdf', 'file4.pdf'] merger = PdfMerger() for pdf in pdfs: merger.append(pdf) merger.write("result.pdf")</code>
文件合并
为了更精细地控制,请使用合并方法指定插入点:
<code class="python">merger.merge(2, pdf) # Insert PDF at page 2</code>
页面范围
使用pages关键字参数控制附加哪些页面:
<code class="python">merger.append(pdf, pages=(0, 3)) # Append first 3 pages merger.append(pdf, pages=(0, 6, 2)) # Append pages 1, 3, 5</code>
排除空白页面
要从所有合并的PDF中排除特定页面,您可以操作页面相应的参数。例如,要从每个 PDF 中排除第 1 页:
<code class="python">pages_to_exclude = [0] # Page 1 for pdf in pdfs: merger.append(pdf, pages=(i for i in range(pages) if i not in pages_to_exclude))</code>
PyMuPdf 库
另一个选项是 PyMuPdf 库。以下是如何使用它合并 PDF:
从命令行
python -m fitz join -o result.pdf file1.pdf file2.pdf file3.pdf
从代码
<code class="python">import fitz result = fitz.open() for pdf in ['file1.pdf', 'file2.pdf', 'file3.pdf']: with fitz.open(pdf) as mfile: result.insert_pdf(mfile) result.save("result.pdf")</code>
循环文件夹
要循环文件夹并合并 PDF,请使用 os 模块:
<code class="python">import os for folder in os.listdir("path/to/directory"): pdfs = [f for f in os.listdir(f"path/to/directory/{folder}") if f.endswith(".pdf")] merger = PdfMerger() for pdf in pdfs: merger.append(f"path/to/directory/{folder}/{pdf}") merger.write(f"merged_{folder}.pdf")</code>
以上是如何使用 Python 合并 PDF 文件:综合指南的详细内容。更多信息请关注PHP中文网其他相关文章!