使用Python將多個PDF文件合併為單一PDF
IronPDF for Python 提供了直接的方法來合併多個PDF文件進入一個檔案,使用PdfDocument.Merge()方法,支持雙文件合併和批量操作,有效地合併大量PDF。
PDF(可攜式檔案格式)是必須跨平台和應用程式看起來相同的文件共享標準。 無論您是在合併報告,結合掃描文件,還是組裝多部分表單,從各種來源合併PDF內容都是商務和資料處理工作流程中的一個固定需求。
IronPDF在Python中使用一個方法調用即可完成此操作。 本指南涵蓋了安裝、基本的雙文件合併以及一次合併多個文件的批量操作。
快速啟動:在Python中合併PDF文件
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-merge-pdf-1.py#: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")
最小工作流程(5個步驟)
- 安裝用於合併PDF文件的Python程式庫
- 使用
RenderHtmlAsPdf生成個別的PDF文件,或使用PdfDocument.FromFile載入現有的文件 - 應用
Merge方法將PDF文件合併到一個PdfDocument中 - 使用
SaveAs保存合併的文件 - 對於多個PDF,將
PdfDocument物件的列表傳遞給Merge
如何安裝 IronPDF for Python?
IronPDF可以通過pip作為Python套件獲得。它需要Python 3.x,並在Windows和Linux上工作,對於標準合併操作不需要額外的系統依賴性。 該套件配備了一個基於Chrome的渲染引擎,內部處理HTML到PDF的轉換。
使用pip安裝IronPdf程式庫的命令如下:
pip install ironpdf
有關詳細的安裝說明以及諸如"模組未定義"錯誤或權限問題等常見問題的幫助,請參考官方文件。
需要哪些導入語句?
在您的Python腳本中,包括以下導入語句以存取IronPDF的PDF生成和合併功能:
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-merge-pdf-3.py#: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"
對於生產應用程式,配置您的授權金鑰以解鎖完整的IronPDF功能集。 提供免費試用 - 開始您的免費試用以便無需購買即可開始。
如何在Python中合併兩個PDF文件?
在Python中合併PDF文件涉及兩個步驟:建立源PDF文件,然後使用PdfDocument.Merge()將它們合併。 該方法接收一個PdfDocument物件的列表,並按列表中項目的出現順序生成新的合併文件。
以下是完整的工作範例:
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-merge-pdf-4.py#: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")
為什麼使用 RenderHtmlAsPdf 來生成 PDF?
上面的範例使用了兩個HTML字串,每一個代表一個兩頁的文件。 RenderHtmlAsPdf 使用 IronPDF 的 Chrome 基於渲染引擎將每個字串轉換為 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")#: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")保存後,您可以進行附加的後處理,例如PDF壓縮以減少大型合併文件的大小。
如何在Python中合併多於兩個PDF文件?
在IronPDF中批量合併遵循與合併兩個文件相同的模式。 唯一的區別是呼叫PdfDocument物件到列表中。 該方法可處理在單次操作中合併數十甚至數百個文件。
無論是合併2個還是200個文件,API都是一樣的。 對於高容量場景,例如每夜報告聚合或文件組裝管道,IronPDF也支持並行PDF生成以加速合併前的渲染階段。
此過程涉及兩個步驟:
- 建立一個包含
PdfDocument物件的Python列表以供合併 - 將列表作為參數傳遞給
PdfDocument.Merge
如何用列表合併多個PDF?
以下程式碼合併了四個HTML渲染的文件在一個調用中:
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-merge-pdf-6.py#: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")
傳遞給Merge的列表決定了最終文件中的頁面順序。 重新排列列表中的元素無需額外程式碼即可改變輸出順序。 如果需要在合併前對文件進行排序 - 例如按日期或報告編號排序 - 請先對Python列表排序,然後再傳遞給Merge。
如何從磁碟中合併現有的PDF文件?
當合併預先存在的PDF文件而不是新生成的文件時,在合併前使用PdfDocument.FromFile載入每個檔案。 這是處理由其他系統生成的檔案的典型模式 - 掃描文件、第三方報告導出或由不同工具生成的PDF檔。 IronPDF將檔案讀入記憶體作為PdfDocument物件,在最終保存之前可以合併、修改或檢查。
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-merge-pdf-7.py#: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")
合併PDF在Python中的下一步是什麼?
本指南涵蓋了使用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 for Python教學頁面:IronPDF for Python教學
下載該軟體產品。
常見問題
如何使用Python將多個PDF文件合併為一個?
使用pip install ironpdf安裝IronPDF,然後調用PdfDocument.Merge()並傳入包含PdfDocument物件的Python列表。該方法返回一個新的合併文件,您可以用SaveAs將其儲存。
我可以從磁碟中合併已有的PDF文件嗎?
可以。使用PdfDocument.FromFile('path/to/file.pdf')來載入每個現有的PDF,然後將載入的物件傳遞給PdfDocument.Merge()。您可以在同一列表中混合使用文件載入和新渲染的文件。
PdfDocument.Merge能夠保留文件格式和字體嗎?
可以。IronPDF在合併過程中會保留所有來源文件中的字體、圖像、註釋和頁面佈局。每個來源文件的原始外觀在最終合併的PDF中都會被保留。
如何控制合併PDF中的頁面順序?
輸出的頁面順序與傳遞給Merge的Python列表中PdfDocument物件的順序相同。請在調用Merge之前重新排列列表元素以控制順序。
我可以壓縮合併的PDF以減少文件大小嗎?
可以。在合併後,請在調用SaveAs之前調用合併的PdfDocument上的CompressImages(quality)。質量值為90能夠很好地平衡壓縮和視覺保真度。
IronPDF for Python 具備跨平台能力嗎?
可以。IronPDF for Python支援在Windows和Linux上的Python 3.x。相同的PdfDocument.Merge() API在兩個平台上均可無需任何配置變更地運行。
我可以在合併的PDF文件中新增元資料嗎?
可以。在合併後,在儲存之前為合併的PdfDocument設定元資料屬性,例如pdf.MetaData.Author和pdf.MetaData.Title。









