IRONSOFTWAREHOME

使用 Python 将 PDF 文件合并为单一 PDF 文件

Curtis Chau
Curtis Chau
Updated: 2026年6月29日

IronPDF for Python提供了一个直接的解决方案,使用PdfDocument.Merge()方法将多个PDF文档合并为一个文件,支持两文件合并和批处理操作,以有效地组合大量PDF。

PDF(便携文件格式)是必须跨平台和应用程序呈现相同外观的文档共享标准。 无论您是在整合报告、合并扫描的文件,还是汇集多部分表单,从各种来源合并PDF内容是商业和数据处理工作流程中的经常性要求。

IronPDF在Python中仅需一个方法调用即可处理此操作。 本指南涵盖安装、基本的两个文件合并和一次合并多个文档的批处理操作。

快速入门:使用 Python 合并 PDF 文件
#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/quickstart.py
from ironpdf import *

renderer = ChromePdfRenderer()
pdf_a = renderer.RenderHtmlAsPdf("<p>Document A</p>")
pdf_b = renderer.RenderHtmlAsPdf("<p>Document B</p>")

merged = PdfDocument.Merge([pdf_a, pdf_b])
merged.SaveAs("merged.pdf")
Python

如何安装IronPDF for Python?

IronPDF作为Python包通过pip提供。它需要Python 3.x,并且在Windows和Linux上工作,标准合并操作无需任何额外的系统依赖。 该软件包附带一个基于Chrome的渲染引擎,内部处理HTML到PDF的转换。

使用pip安装IronPdf库,使用下列命令:

> pip install ironpdf

有关详细的安装说明和常见问题(如"模块未定义"错误或权限问题)的帮助,请参阅官方文档。

需要哪些导入语句?

在您的Python脚本中,包含以下导入语句以访问IronPDF的PDF生成和合并功能:

#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/imports.py
from ironpdf import *

# Set your license key for production use
License.LicenseKey = "YOUR-LICENSE-KEY-HERE"
Python

对于生产应用程序,配置您的许可证密钥以解锁完整的IronPDF功能集。 可以试用 - 开始您的免费试用,无需购买即可开始。

如何用 Python 合并两个 PDF 文件?

在Python中合并PDF文件分为两个步骤:创建源PDF文档,然后用PdfDocument.Merge()将它们组合在一起。 该方法接受PdfDocument对象列表,并按照列表中项目的顺序生成一个新的组合文档。

下面是一个完整的工作示例:

#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/merge-two-pdfs.py
from ironpdf import *

# HTML content for the first PDF
html_a = """<p> [PDF_A] </p>
            <p> [PDF_A] 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_A] 2nd Page</p>"""

# HTML content for the second PDF
html_b = """<p> [PDF_B] </p>
            <p> [PDF_B] 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_B] 2nd Page</p>"""

# Initialize renderer
renderer = ChromePdfRenderer()

# Convert each HTML string to a PDF document
pdfdoc_a = renderer.RenderHtmlAsPdf(html_a)
pdfdoc_b = renderer.RenderHtmlAsPdf(html_b)

# Merge the two documents into one
merged = PdfDocument.Merge([pdfdoc_a, pdfdoc_b])

# Save the merged result to disk
merged.SaveAs("Merged.pdf")
Python

为什么使用 RenderHtmlAsPdf 生成 PDF?

上面的示例使用两个HTML字符串,每一个代表一个两页的文档。 PdfDocument对象,从HTML、CSS和JavaScript内容中产生准确的结果。 这种方法非常适合从Web模板生成报告或数据驱动的文档。 有关更复杂的渲染场景,请参阅HTML到PDF教程。

提示: 您也可以使用Merge方法。 当组合预先存在的报告或外部生成的文档时,这很有用。

合并方法如何工作?

PdfDocument.Merge接收一个Python PdfDocument对象列表作为其唯一参数。 它按列表顺序合并文档,将第一个文档的所有页面放在第二个文档的所有页面之前,依此类推。 结果是一个新的PdfDocument,可以进一步修改或保存。 来自每个源文档的页数、书签和嵌入内容都保存在输出中。

该方法接受在同一个列表中任意混合渲染的和从文件加载的文档。这意味着您可以在一个调用中将新生成的HTML输出与磁盘上的现有PDF合并,这在报告的一部分是动态生成而另一部分是静态模板时很有用。

如何保存合并的PDF?

将所需的输出路径传递给SaveAs以将合并后的文档写入磁盘:

#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/save-merged.py
# Save the merged document
merged.SaveAs("Merged.pdf")

# Optionally compress images before saving to reduce file size
merged.CompressImages(90)
merged.SaveAs("Merged_Compressed.pdf")
Python

保存后,您可以应用额外的后处理操作,例如PDF压缩以减少大型合并文档的文件大小。

IronPDF 输出,显示带缩略图面板的 4 页合并 PDF,确认两个文档成功合并

合并的PDF输出显示来自两个源文档的页面

如何在Python中合并两个以上的PDF文件?

在IronPDF中,批量合并与合并两个文档的模式相同。 唯一的区别是,在调用PdfDocument对象。 该方法可以扩展以处理一次性处理数十个或数百个文档。

无论您是合并2个还是200个文档,API始终相同。 对于高负载场景,如夜间报告聚合或文档组装管道,IronPDF还支持并行PDF生成,以加速合并前的渲染阶段。

该过程包括两个步骤:

  • 创建一个包含PdfDocument对象的Python列表进行合并
  • 将列表作为参数传递给PdfDocument.Merge

如何使用列表合并多个PDF?

以下代码通过一次调用合并四个HTML渲染文档:

#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/merge-multiple-pdfs.py
from ironpdf import *

# HTML content for each document
html_a = """<p> [PDF_A] 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_A] 2nd Page</p>"""

html_b = """<p> [PDF_B] 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_B] 2nd Page</p>"""

html_c = """<p> [PDF_C] 1st Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_C] 2nd Page</p>"""

html_d = """<p> [PDF_D] Content Page </p>
            <div style='page-break-after: always;'></div>
            <p> [PDF_D] Summary Page</p>"""

renderer = ChromePdfRenderer()

# Render all four documents
pdfdoc_a = renderer.RenderHtmlAsPdf(html_a)
pdfdoc_b = renderer.RenderHtmlAsPdf(html_b)
pdfdoc_c = renderer.RenderHtmlAsPdf(html_c)
pdfdoc_d = renderer.RenderHtmlAsPdf(html_d)

# Collect into a list and merge
pdfs = [pdfdoc_a, pdfdoc_b, pdfdoc_c, pdfdoc_d]
pdf = PdfDocument.Merge(pdfs)

# Save the combined document
pdf.SaveAs("merged_multiple.pdf")
Python

传递给Merge的列表决定了最终文档中的页面顺序。 重新排列列表中的元素无需额外代码即可更改输出顺序。 如果您需要在合并之前对文档进行排序 - 例如,按日期或报告编号 - 请先对Python列表进行排序,然后将其传递给Merge。

如何从磁盘合并现有的PDF文件?

当合并预先存在的PDF文件而不是新生成的文件时,在合并之前用PdfDocument.FromFile加载每个文件。 这是处理其他系统生成文件的典型模式 - 扫描的文档、第三方报告导出或由不同工具生成的PDF。 IronPDF将文件读入内存中的一个PdfDocument对象,然后可以在最后保存之前进行合并、修改或检查。

#:path=/static-assets/pdf/content-code-examples/how-to/python-merge-pdf/merge-existing-pdfs.py
from ironpdf import *

# Load existing PDF files from disk
existing_pdf1 = PdfDocument.FromFile("report1.pdf")
existing_pdf2 = PdfDocument.FromFile("report2.pdf")
existing_pdf3 = PdfDocument.FromFile("report3.pdf")

# Merge all loaded documents
merged_existing = PdfDocument.Merge([existing_pdf1, existing_pdf2, existing_pdf3])

# Save the combined result
merged_existing.SaveAs("merged_reports.pdf")
Python
请注意: IronPDF在合并过程中保留源文件中的字体、图像、注释和页面布局。 包含嵌入式表单字段或数字签名的文档也可以合并,不过输出中的交互式表单字段可能需要根据您的使用情况重新平面化。)]}
IronPDF 输出,显示带缩略图导航面板的多页合并 PDF,展示来自四个源文档的页面

多文档合并结果显示来自所有四个源PDF的页面

在Python中合并PDF的下一步是什么?

本指南介绍了使用IronPDF的两种主要PDF合并模式:将HTML内容渲染为PDF文档并使用PdfDocument.Merge将其合并,以及从磁盘加载现有文件以进行批量组合。 这两种方法共享相同的API,并可从简单的两个文件合并扩展到大型文档批处理。

IronPDF支持额外的合并后操作,如添加页眉和页脚、应用水印以进行品牌化、从合并文档中提取文本以及编程填写PDF表单。

该库支持运行在Windows和Linux上的Python 3.x。 如需更多Python PDF操作,请探索拆分PDF、将PDF转换为图像和打印PDF。 欲了解完整的Python代码示例列表,请访问IronPDF for Python示例页面。

开始您的免费试用以测试在您的环境中合并PDF,或查看许可选项以用于生产部署。

准备好看看您还能做些什么吗? 查看IronPDF Python教程页面:IronPDF for Python教程

下载软件产品。

常见问题解答

如何使用 Python 将多个 PDF 文件合并成一个?

使用pip install ironpdf安装IronPDF,然后用Python列表中的PdfDocument对象调用PdfDocument.Merge()。该方法返回一个新的合并文档,您可以用SaveAs保存。

我可以从磁盘合并现有的PDF文件而不是渲染的吗?

是的。使用PdfDocument.FromFile('path/to/file.pdf')加载每个现有PDF,然后将加载的对象传递给PdfDocument.Merge()。您可以在同一列表中混合文件加载的和新渲染的文档。

PdfDocument.Merge是否保留文档格式和字体?

是的。IronPDF在合并过程中保留所有来源文档的字体、图像、注释和页面布局。每个来源文档的原始外观在最终合并的PDF中得以保留。

我如何控制合并PDF中的页面顺序?

输出中的页面顺序与传递给Merge方法的Python列表中的PdfDocument对象的顺序一致。通过在调用Merge之前重新排列列表元素来控制顺序。

我可以压缩合并的PDF以减少文件大小吗?

可以。在合并之后,调用合并的PdfDocument上的CompressImages(quality),然后再调用SaveAs。质量值90在压缩和视觉保真度之间提供了良好的平衡。

IronPDF for Python是跨平台的吗?

是的。IronPDF for Python支持Windows和Linux上的Python 3.x。相同的PdfDocument.Merge() API在两个平台上都可以工作,无需任何配置更改。

我可以向合并的PDF文档添加元数据吗?

可以。在合并之后,在合并的PdfDocument上设置元数据属性,如pdf.MetaData.Author和pdf.MetaData.Title,然后再保存。

How does IronPDF handle HTML content for PDF generation?

IronPDF uses a Chrome-based rendering engine to convert HTML content into PdfDocument objects. This allows it to accurately render PDF documents from HTML, CSS, and JavaScript.

What are the next steps after merging PDFs with IronPDF?

After merging PDFs with IronPDF, you can perform additional operations such as adding headers and footers, applying watermarks, extracting text, or even filling out PDF forms programmatically.

Where can I find more examples of using IronPDF in Python?

For more examples of using IronPDF in Python, visit the IronPDF for Python examples page. It includes various tutorials and code snippets to help you perform different PDF operations.

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

...
阅读更多

准备开始了吗?

版本:2026.9刚刚发布

免费获取

30天试用密钥 即刻获取。

bullet_checked无需信用卡或创建账户
bullet_test在生产环境中测试
且无水印
bullet_calendar30天完全
功能性产品
bullet_support试用期间提供
24/5技术支持
立即获取您的免费30 天试用密钥。
无需信用卡或创建账户
Python 模块下载 PDF
using pip 安装

版本: 2026.9

  1. 下载 并安装 Python 3.7+。
  2. 如果尚未安装,请从 pypi.org 安装 pip。
  3. 在终端中执行上述命令。
Python PDF 模块
下载 模块

版本: 2026.9

手动安装到您的项目中

  1. 下载软件包
  2. 在终端中运行此命令
    pip install ironpdf-2026.9-py37-none-win_amd64.whi

$999 起

Key in blue circle

立即获取免费的 30 天试用版密钥。

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

OR
bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥。
无需信用卡或创建账户
Python 模块下载 PDF
using pip 安装

版本: 2026.9

  1. 下载 并安装 Python 3.7+。
  2. 如果尚未安装,请从 pypi.org 安装 pip。
  3. 在终端中执行上述命令。
Python PDF 模块
下载 模块

版本: 2026.9

手动安装到您的项目中

  1. 下载软件包
  2. 在终端中运行此命令
    pip install ironpdf-2026.9-py37-none-win_amd64.whi

$999 起