如何在Python中製作PDF檔案
使用IronPDF在Python中建立PDF檔案,只需幾行程式碼即可將HTML字串、HTML文件或URL轉換為PDF文件。 IronPDF會自動處理渲染、格式化和安全功能。
快速入門:在Python中建立PDF
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/quickstart.py# 1. Install IronPDF: pip install ironpdf
# 2. Import the library
from ironpdf import *
# 3. Create renderer
renderer = ChromePdfRenderer()
# 4. Convert HTML to PDF
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>")
# 5. Save the PDF
pdf.SaveAs("output.pdf")
如何在Python中建立PDF檔案
- 安裝IronPDF Python程式庫
- 使用
RenderHtmlAsPdf方法將HTML字串轉換為PDF文件 - 使用
RenderHtmlFileAsPdf方法從本地HTML文件生成PDF文件 - 使用
RenderUrlAsPdf方法從網頁URL建立PDF - 應用密碼保護並將PDF保存到所需目錄
在Python中自動化PDF建立讓開發者能夠以編程方式生成文件:發票、報告、合約和證書,而無需離開應用程式。 傳統上,這需要處理佈局引擎和格式規範,但IronPDF的HTML優先方法意味著任何HTML/CSS文件只需一次方法調用即可成為精確的PDF。
這個操作指南涵蓋了在IronPDF for Python中建立PDF的四個主要工作流程:轉換HTML字串、轉換本地HTML文件、轉換URL,以及在導出之前應用密碼保護。
在PDF建立中應使用哪個Python程式庫?
IronPDF是一個專門用於從HTML建立PDF文件的Python程式庫。 其API簡單明瞭:傳入HTML標記(或文件路徑,或URL)即可收到一個PdfDocument物件,您可以保存、印章、合併或加密。
該程式庫包裝了IronPDF經過實戰考驗的.NET渲染引擎,該引擎同樣應用於.NET、Java和Node.js項目,因此HTML到PDF的輸出在各平台上都是一致的。 支持現代網頁標準,包括CSS3、HTML5、JavaScript執行、網頁字型和響應式佈局。
除了PDF生成,IronPDF覆蓋了完整的PDF生命周期:
- 從現有PDF中提取文字和資料
- 文件格式轉換(HTML、DOCX、圖像轉PDF)
- 合併多個PDF
- 壓縮PDF文件
- 密碼加密和數位權利管理
- 程式化填寫PDF表單
在建立PDF之前有哪些前提條件?
要使用IronPDF for Python,必須安裝以下程式:
.NET 6.0 SDK:IronPDF for Python運行於IronPDF .NET程式庫之上。 從微軟.NET 6.0官方下載頁面下載。Python 3.x:從Python官方網站下載並安裝Python。 安裝時選擇將Python新增到PATH的選項。pip:隨附於Python 3.4+。 通過在終端中運行pip --version來驗證安裝。IronPDF:使用pip安裝程式庫:
pip install ironpdf
pip來安裝Python 3套件。 如果遇到安裝錯誤,請參考我們的OSError問題的故障排除指南。在建立PDF之前需要哪些程式碼設置?
將以下導入語句新增到Python腳本的頂部:
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/import.py# Import statement for IronPDF for Python
from ironpdf import *
在進行其他IronPDF調用之前,請通過將有效的授權金鑰分配給LicenseKey屬性來配置它。 這將去除生成的PDF中的試用水印。 有關實施授權金鑰的詳細指南,請存取授權金鑰設置指南。
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/license.py# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
如何將HTML字串轉換為PDF文件?
RenderHtmlAsPdf 方法直接將HTML字串轉換為 PdfDocument 物件。 將任何有效的HTML標記作為參數傳遞,IronPDF將使用其內建的Chromium引擎渲染,執行JavaScript和應用CSS,然後生成PDF。
這種方法對於動態生成的內容最為靈活:在Python中構建HTML字串(使用模板引擎如Jinja2或簡單的字串格式化),然後將其直接傳遞給渲染器。 例如,生成發票意味著使用訂單資料填充HTML模板,並在一步中調用RenderHtmlAsPdf。
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/html-string-to-pdf.pyfrom ironpdf import *
# Apply license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
# Instantiate the Chromium renderer
renderer = ChromePdfRenderer()
# Convert an HTML string to a PDF document
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1><p>This is an example HTML string.</p>")
如何保存生成的PDF?
一旦HTML字串已被轉換為SaveAs:
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/save-html-string.py
# Save the PDF to a file
pdf.SaveAs("htmlstring_to_pdf.pdf")# Save the PDF to a file
pdf.SaveAs("htmlstring_to_pdf.pdf")
# Save the PDF to a file
pdf.SaveAs("htmlstring_to_pdf.pdf")文件htmlstring_to_pdf.pdf寫入到當前工作目錄,保留HTML內容及整個CSS樣式。 有關高級HTML渲染技術,包括CSS框架、JavaScript框架和複雜佈局,請參閱Python的HTML到PDF教程。
如何從本地HTML文件生成PDF?
當HTML內容位於本地文件系統中的一個文件時,RenderHtmlFileAsPdf是一個正確的方法。 提供文件路徑作為參數:
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/html-file-to-pdf.pyfrom ironpdf import *
# Apply license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
# Instantiate the renderer
renderer = ChromePdfRenderer()
# Create a PDF from a local HTML file
pdf = renderer.RenderHtmlFileAsPdf("example.html")
# Save the output PDF
pdf.SaveAs("htmlfile_to_pdf.pdf")
IronPDF解析相對於HTML文件位置的CSS文件、圖片和腳本的相對路徑。 渲染器在生成PDF前載入所有相關資產,因此結果與瀏覽器顯示的內容匹配。 這使其成為一個可靠的選擇,適用於模板化的文件,其中HTML和資產作為磁盤上的文件進行維護。
如何在Python中從URL建立PDF?
使用RenderUrlAsPdf將實時網頁轉換為PDF。 提供完整的URL作為參數:
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/url-to-pdf.pyfrom ironpdf import *
# Apply license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
# Instantiate the renderer
renderer = ChromePdfRenderer()
# Convert a web page to PDF
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com")
# Save the output PDF
pdf.SaveAs("url.pdf")
URL渲染功能支持現代網頁技術,包括動態JavaScript內容、AJAX調用和響應式佈局。 IronPDF等到頁面完全載入,包括JavaScript執行,然後捕捉PDF,因此所有動態內容準確捕捉。
在哪裡可以找到更多URL轉換範例?
有關將網頁轉換為PDF的更多範例,請存取URL到PDF程式碼範例頁面。 對於需要身份驗證的網頁,請參見網站和系統登錄指南。
如何自定義PDF格式選項?
ChromePdfRenderer控制了輸出PDF的格式和佈局。 常用設置包括頁面大小、頁面方向、邊距大小和縮放級別。
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/rendering-options.pyfrom ironpdf import *
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
renderer = ChromePdfRenderer()
# Configure rendering options
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginBottom = 20
renderer.RenderingOptions.MarginLeft = 25
renderer.RenderingOptions.MarginRight = 25
# Render with custom formatting
pdf = renderer.RenderHtmlAsPdf("<h1>Custom Formatted PDF</h1><p>Content here.</p>")
pdf.SaveAs("formatted.pdf")
有哪些格式化設置可用?
RenderingOptions屬性提供了紙張大小、頁面方向、邊距和縮放的設置。 下表列出了最常用的屬性:
| 屬性 | 型別 | 描述 |
|---|---|---|
PaperSize | PdfPaperSize | 標準頁面大小(A4、Letter、Legal)或自定義大小 |
PaperOrientation | PdfPaperOrientation | 頁面方向為豎向或橫向 |
MarginTop / MarginBottom | int(毫米) | 頁面頂部和底部的邊距,以毫米為單位 |
MarginLeft / MarginRight | int(毫米) | 頁面左側和右側的邊距,以毫米為單位 |
HtmlHeader / HtmlFooter | HtmlHeaderFooter | 支持頁碼的運行HTML標題和頁腳 |
有關額外設置的完整參考,請參閱PDF生成設置程式碼範例。
HtmlFooter屬性。 標頭和頁腳範例展示了完整語法。如何使用密碼保護PDF文件?
要使用密碼保護PDF,請在UserPassword屬性。 所有者密碼同樣可以設置,以分別限制編輯權限與讀取權限。
考慮在URL範例中建立的PDF進行保護:
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/password-protect.pyfrom ironpdf import *
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
renderer = ChromePdfRenderer()
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com")
# Set user password (required to open the PDF)
pdf.SecuritySettings.UserPassword = "sharable"
# Set owner password (controls permissions)
pdf.SecuritySettings.OwnerPassword = "admin123"
# Configure document permissions
pdf.SecuritySettings.AllowUserPrinting = True
pdf.SecuritySettings.AllowUserCopyPasteContent = False
# Save the password-protected PDF
pdf.SaveAs("protected.pdf")
密碼保護實際上是如何運作的?
在任何PDF查看器中打開protected.pdf時,會在顯示文件內容前提示使用者密碼。 所有者密碼提供對安全設置的管理存取。 設置AllowUserCopyPasteContent = False防止讀者從PDF中複製文字,但仍允許列印。
要對文件權限進行更多控制,請參見安全和元資料設置範例及PDF加密和解密指南。
完整的源程式碼是什麼?
下面的綜合範例示範了在一個Python腳本中進行的所有四種PDF建立工作流程:
:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/complete-example.pyfrom ironpdf import *
# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
# --- HTML string to PDF ---
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1><p>This is an example HTML string.</p>")
pdf.SaveAs("htmlstring_to_pdf.pdf")
# --- Local HTML file to PDF ---
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlFileAsPdf("example.html")
pdf.SaveAs("htmlfile_to_pdf.pdf")
# --- URL to PDF ---
renderer = ChromePdfRenderer()
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com")
pdf.SaveAs("url.pdf")
# --- Password-protected PDF ---
pdf.SecuritySettings.UserPassword = "sharable"
pdf.SecuritySettings.OwnerPassword = "admin123"
pdf.SecuritySettings.AllowUserPrinting = True
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SaveAs("protected.pdf")
IronPDF準確渲染所有圖片和文字,同時保留格式。 互動元素如按鈕維持其功能,文字框在生成的PDF中保留其可編輯性。
在Python中建立PDF的下一步是什麼?
本指南涵蓋了IronPDF for Python中的三種主要PDF建立方法——HTML字串、本地HTML文件和URL——以及用於保護輸出文件的密碼保護。 每種方法都會生成一個PdfDocument物件,可以進一步處理:在保存之前進行印章、合併、拆分或加密。
準備好擴展這些工作流程了嗎? 以下資源展示了實際的下一步:
- HTML到PDF Python教程——使用CSS框架和JavaScript進行高級渲染
- 在Python中合併PDF——將多個文件合併為一個文件
- 在Python中壓縮PDF——減少文件大小以便儲存和發送郵件
- 在Python中填寫PDF表單——填寫現有PDF表單字段
IronPDF需要有效的授權才能用於生產用途。 授權起價為$999。 開始免費30天試用以便在無限制的情況下評估程式庫,或查看完整產品套件的授權選項。
常見問題
如何安裝 IronPDF for Python?
在您的終端中運行 pip install ironpdf。您還需要安裝Python 3.x和.NET 6.0 SDK,因為IronPDF for Python是在IronPDF .NET引擎上運行的。
在Python中轉換HTML為PDF的最簡單方法是什麼?
建立一個ChromePdfRenderer實例,然後調用renderer.RenderHtmlAsPdf('<h1>Hello</h1>')。該方法接受任何有效的HTML字串並返回可以用pdf.SaveAs('output.pdf')儲存的PdfDocument物件。
我可以從本地HTML檔案生成PDF嗎?
可以。使用renderer.RenderHtmlFileAsPdf('path/to/file.html')。IronPDF在渲染之前,會解析相對於HTML檔案位置的CSS、圖片和腳本。
如何將有效的網頁URL轉換為PDF?
調用renderer.RenderUrlAsPdf('https://example.com')。IronPDF在捕捉PDF之前,等待頁面完全載入,包括JavaScript執行。
如何給生成的PDF加密密碼?
設置pdf.SecuritySettings.UserPassword來要求密碼開啟檔案,並設置pdf.SecuritySettings.OwnerPassword來限制編輯權限。之後呼叫pdf.SaveAs以寫入受保護檔案。
我可以控制生成的PDF的頁面大小和邊距嗎?
可以。在調用渲染方法之前,配置renderer.RenderingOptions.PaperSize(例如PdfPaperSize.A4)以及設置MarginTop、MarginBottom、MarginLeft和MarginRight以毫米為單位。
IronPDF在HTML轉PDF轉換中支持JavaScript執行嗎?
支持。IronPDF使用基於Chromium的渲染引擎,該引擎會執行JavaScript,處理AJAX調用並應用CSS,然後生成PDF,因此可以準確地捕捉動態內容。
我可以在建立後合併或壓縮PDF嗎?
可以。IronPDF提供單獨的方法來將多個PdfDocument物件合併為一個檔案,以及壓縮現有PDF以減小檔案大小。這兩種操作都適用於任何渲染方法返回的PdfDocument物件。







