如何使用 Python 版的 IronPDF for Python 将 HTML 转换为 PDF

IronPDF 為 Python 開發者提供了一條從 HTML 標記直接生成可投入生產的 PDF 檔案的途徑——無需中間設計工具、無需專有版面配置引擎、也無需獨立的渲染流程。該函式庫的 ChromePdfRenderer 類別底層採用基於 Chromium 的引擎,因此任何在 Chrome 中顯示正確的 HTML 都能精確轉換為 PDF。 本教學將逐步介紹所有受支援的轉換方式——HTML 字串、本地 HTML 檔案及即時網址——並進一步說明渲染選項,讓您能控制頁面大小、邊距、頁首、頁尾等設定。

若您需要 C# 或 VB.NET 的工作流程,另有配套教學指南可供參考,內容說明如何在 .NET 應用程式中將 HTML 轉換為 PDF

快速入門:在 Python 中將 HTML 轉換為 PDF


目錄


開始使用

如何安裝 IronPDF for Python?

IronPDF 透過 Python 的標準套件管理器 pip 進行分發。 請在終端機中執行以下指令以安裝最新版本:

//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/install.sh
pip install ironpdf
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/install.sh
pip install ironpdf
SHELL

若要指定特定版本(在持續整合管道或容器化環境中相當實用),請在後面加上版本號:

//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/install-versioned.sh
pip install ironpdf==2024.x.x
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/install-versioned.sh
pip install ironpdf==2024.x.x
SHELL

請注意IronPDF for Python 建構於 IronPDF .NET 函式庫之上,並需要 .NET 6.0 SDK 或更高版本。 在執行任何 IronPDF Python 程式碼之前,請先安裝 SDK。)}]

IronPDF 首次初始化時,會下載一個相容的 Chromium 二進位檔。 在全新機器上進行此下載需稍候片刻,但每個環境僅需執行一次。 由於二進位檔已儲存於本地快取中,後續執行速度將大幅提升。


操作指南與程式碼範例

轉換前該如何設定 IronPDF?

在首次執行轉換呼叫之前,建議完成兩項設定任務:設定授權金鑰,以及(可選)設定日誌檔案位置。

導入套件

每個使用 IronPDF 的 Python 檔案都需要這行 import 語句。請將其置於檔案頂端:

//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/import.py
from ironpdf import *
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/import.py
from ironpdf import *
PYTHON

所有 IronPDF 類別 — Logger 以及其餘類別 — 皆可透過此通配符匯入取得。

設定授權金鑰

若未持有授權金鑰,IronPDF 會在每個生成的 PDF 檔案中添加拼貼式浮水印。 水印版本適用於開發與測試,但正式部署需使用有效金鑰。

未使用授權金鑰生成的 PDF 檔案會包含拼接式浮水印。請造訪授權頁面以取得金鑰。

請在呼叫任何其他 IronPDF 函式之前設定此金鑰:

//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/set-license.py
from ironpdf import *

# Set the license key before any PDF operations
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/set-license.py
from ironpdf import *

# Set the license key before any PDF operations
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
PYTHON

立即開始免費試用以取得臨時金鑰,或購買授權以供無限制的正式生產環境使用。

設定日誌輸出

IronPDF 會將診斷輸出寫入位於腳本工作目錄中的 Default.log 檔案中。 若要將記錄重定向至不同路徑,或為除錯目的擷取更多詳細資訊,請在首次轉換前設定 Logger 屬性:

//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/configure-logging.py
from ironpdf import *

# Configure logging before running any conversions
Logger.EnableDebugging = True
Logger.LogFilePath = "ironpdf-debug.log"
Logger.LoggingMode = Logger.LoggingModes.All
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/configure-logging.py
from ironpdf import *

# Configure logging before running any conversions
Logger.EnableDebugging = True
Logger.LogFilePath = "ironpdf-debug.log"
Logger.LoggingMode = Logger.LoggingModes.All
PYTHON

請注意Logger.LogFilePath 必須在首次 PDF 轉換呼叫之前設定。 (後續所做的變更不會影響當前工作階段。)}]

詳細日誌在診斷特定 HTML 頁面為何未如預期渲染時最為有用——它們記錄了網路請求、CSS 載入事件以及 JavaScript 執行時間點。

如何將 HTML 字串轉換為 PDF?

將記憶體中的 HTML 字串進行轉換是最直接的方法,當 HTML 是透過程式碼生成時(例如來自 Jinja2 範本或資料庫驅動的報表),此方法效果甚佳。

基本 HTML 字串轉換

建立 ChromePdfRenderer 的實例,將 HTML 字串傳遞給 RenderHtmlAsPdf,並在返回的 PdfDocument 上呼叫 SaveAs

//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/html-string-basic.py
from ironpdf import *

renderer = ChromePdfRenderer()

# Convert an HTML string to a PDF document
pdf = renderer.RenderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>Generated in Python.</p>")

pdf.SaveAs("hello.pdf")
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/html-string-basic.py
from ironpdf import *

renderer = ChromePdfRenderer()

# Convert an HTML string to a PDF document
pdf = renderer.RenderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>Generated in Python.</p>")

pdf.SaveAs("hello.pdf")
PYTHON
PDF rendered from a simple HTML string showing a heading and paragraph

RenderHtmlAsPdf 會完全依照 Chrome 的處理方式來處理 HTML,包括 CSS 和 JavaScript。

ChromePdfRenderer 處理 HTML、CSS 和 JavaScript 的方式與現代瀏覽器相同。 任何在 Chrome 中顯示正確的內容,都能產生準確的 PDF 檔案。

包含外部資源的 HTML 字串

當 HTML 字串引用本地資源(如樣式表、圖片、腳本)時,請將目錄路徑作為第二個參數傳遞給 RenderHtmlAsPdf。 IronPDF 在解析相對路徑時,會將此路徑用作基礎 URL:

//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/html-string-assets.py
from ironpdf import *

html_content = """
<html>
  <head>
    <title>Styled Report</title>
    <link rel='stylesheet' href='assets/style.css'>
  </head>
  <body>
    <h1>Monthly Report</h1>
    <img src='assets/logo.png' alt='Company logo'>
    <p>Data as of Q1 2024.</p>
  </body>
</html>
"""

renderer = ChromePdfRenderer()

# The second argument sets the base path for resolving relative asset URLs
pdf = renderer.RenderHtmlAsPdf(html_content, "./")

pdf.SaveAs("styled-report.pdf")
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/html-string-assets.py
from ironpdf import *

html_content = """
<html>
  <head>
    <title>Styled Report</title>
    <link rel='stylesheet' href='assets/style.css'>
  </head>
  <body>
    <h1>Monthly Report</h1>
    <img src='assets/logo.png' alt='Company logo'>
    <p>Data as of Q1 2024.</p>
  </body>
</html>
"""

renderer = ChromePdfRenderer()

# The second argument sets the base path for resolving relative asset URLs
pdf = renderer.RenderHtmlAsPdf(html_content, "./")

pdf.SaveAs("styled-report.pdf")
PYTHON
PDF output from an HTML string that references external CSS and image assets

當您在 RenderHtmlAsPdf 中提供基礎路徑時,外部 CSS 和圖片會正確載入。

基礎路徑可以指向任何本機目錄或網路共用資料夾。 子目錄中的資源將以此目錄為基準進行解析。 如需更多涉及複雜 HTML 字串的範例,請參閱"HTML 字串轉 PDF"程式碼範例

如何將 URL 轉換為 PDF?

RenderUrlAsPdf 方法會擷取一個即時網址,等待頁面完全載入(包括任何由 JavaScript 驅動的內容),並將渲染結果轉換為 PDF。 這使其非常適合擷取儀表板、報告,或任何最終視覺狀態取決於 JavaScript 執行的網頁。

//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/url-to-pdf.py
from ironpdf import *

renderer = ChromePdfRenderer()

# Fetch and convert a live web page to PDF
pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format")

pdf.SaveAs("wikipedia-pdf.pdf")
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/url-to-pdf.py
from ironpdf import *

renderer = ChromePdfRenderer()

# Fetch and convert a live web page to PDF
pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format")

pdf.SaveAs("wikipedia-pdf.pdf")
PYTHON
PDF generated from a Wikipedia article URL using IronPDF's RenderUrlAsPdf method

IronPDF 會在產生 PDF 之前,先擷取即時網址並渲染完整頁面(包含 JavaScript)。

提示對於需要驗證的頁面,請在呼叫 RenderUrlAsPdf 之前,先在 ChromePdfRenderer 實例上設定 Cookie 或 HTTP 請求標頭。 詳情請參閱 HTTP 登入憑證指南

當目標頁面載入非同步內容時,IronPDF 會等待 Chromium 渲染引擎發出文件已完全繪製完成的訊號。 對於含有大量 JavaScript 或延遲網路請求的頁面,請考慮調整 WaitFor 上的 ChromePdfRenderOptions 屬性(詳見下文的渲染選項部分)。 "URL 轉 PDF"程式碼範例展示了其他配置模式。

如何將 HTML 檔案轉換為 PDF?

RenderHtmlFileAsPdf 接受本地 HTML 檔案的路徑,並直接進行轉換。 HTML 內的相對路徑(指向 CSS 檔案、圖片或 JavaScript)會自動以該 HTML 檔案所在的目錄為基準進行解析,因此無需指定 base-path 參數。

//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/html-file-to-pdf.py
from ironpdf import *

renderer = ChromePdfRenderer()

# Convert a local HTML file (and its linked CSS/JS) to PDF
pdf = renderer.RenderHtmlFileAsPdf("invoices/TestInvoice1.html")

pdf.SaveAs("invoice.pdf")
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/html-file-to-pdf.py
from ironpdf import *

renderer = ChromePdfRenderer()

# Convert a local HTML file (and its linked CSS/JS) to PDF
pdf = renderer.RenderHtmlFileAsPdf("invoices/TestInvoice1.html")

pdf.SaveAs("invoice.pdf")
PYTHON

此方法特別適用於伺服器端的文件生成情境,即 HTML 範本已寫入磁碟的情況——這在使用 Django 或 Flask 將 Jinja2 範本渲染為檔案,再轉換為 PDF 供下載時,是一種常見的模式。

IronPDF 會根據 HTML 檔案的位置解析所有 <script><img> 標籤,因此連結的樣式表、內嵌字型及圖片在 PDF 中的顯示效果,將與瀏覽器中完全一致。 此流程與 RenderHtmlAsPdf 處理內嵌資產的方式相同,不同之處在於無需提供明確的基底路徑。

如何控制 PDF 渲染選項?

ChromePdfRenderOptions 是傳遞給 ChromePdfRenderer(或直接傳遞給任何渲染方法)的配置物件,用於控制頁面佈局、邊距、紙張尺寸及其他輸出特性。 在轉換前設定選項,是客製化 PDF 輸出格式的標準做法。

紙張尺寸與方向

//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/render-options-paper.py
from ironpdf import *

renderer = ChromePdfRenderer()

# Configure page layout before rendering
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginBottom = 20
renderer.RenderingOptions.MarginLeft = 15
renderer.RenderingOptions.MarginRight = 15

pdf = renderer.RenderHtmlAsPdf("<h1>Landscape Report</h1><p>Content here.</p>")
pdf.SaveAs("landscape-a4.pdf")
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/render-options-paper.py
from ironpdf import *

renderer = ChromePdfRenderer()

# Configure page layout before rendering
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginBottom = 20
renderer.RenderingOptions.MarginLeft = 15
renderer.RenderingOptions.MarginRight = 15

pdf = renderer.RenderHtmlAsPdf("<h1>Landscape Report</h1><p>Content here.</p>")
pdf.SaveAs("landscape-a4.pdf")
PYTHON

邊距以毫米為單位表示。 PdfPaperSize 支援所有標準 ISO 尺寸 — 從 A0 到 A10、Letter、Legal、Tabloid — 以及 Custom,後者適用於由 CustomPaperWidthCustomPaperHeight 定義的任意尺寸。

自訂紙張尺寸

當標準紙張尺寸不符合輸出需求時(例如收據或標籤印表機格式),請明確指定寬度和高度:

//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/render-options-custom-size.py
from ironpdf import *

renderer = ChromePdfRenderer()

# Set a custom paper size (in millimetres)
renderer.RenderingOptions.PaperSize = PdfPaperSize.Custom
renderer.RenderingOptions.CustomPaperWidth = 80   # 80 mm receipt roll width
renderer.RenderingOptions.CustomPaperHeight = 200

pdf = renderer.RenderHtmlAsPdf("<h2>Receipt</h2><p>Total: $12.50</p>")
pdf.SaveAs("receipt.pdf")
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/render-options-custom-size.py
from ironpdf import *

renderer = ChromePdfRenderer()

# Set a custom paper size (in millimetres)
renderer.RenderingOptions.PaperSize = PdfPaperSize.Custom
renderer.RenderingOptions.CustomPaperWidth = 80   # 80 mm receipt roll width
renderer.RenderingOptions.CustomPaperHeight = 200

pdf = renderer.RenderHtmlAsPdf("<h2>Receipt</h2><p>Total: $12.50</p>")
pdf.SaveAs("receipt.pdf")
PYTHON

重要事項自訂紙張尺寸對於熱感應收據印表機及標籤格式(例如 4×6 英吋的運送標籤)特別有用。

啟用 JavaScript 執行

預設情況下,IronPDF 會在渲染過程中執行 JavaScript。 若頁面仰賴 JavaScript 來產生可見內容(例如圖表、資料表、動態表單值),此行為意味著渲染後的 PDF 將反映最終的 DOM 狀態。 若要在無需 JavaScript 的頁面中停用 JavaScript:

//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/render-options-javascript.py
from ironpdf import *

renderer = ChromePdfRenderer()

# Disable JavaScript for static HTML pages
renderer.RenderingOptions.EnableJavaScript = False

pdf = renderer.RenderHtmlAsPdf("<p>Static content only.</p>")
pdf.SaveAs("static.pdf")
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/render-options-javascript.py
from ironpdf import *

renderer = ChromePdfRenderer()

# Disable JavaScript for static HTML pages
renderer.RenderingOptions.EnableJavaScript = False

pdf = renderer.RenderHtmlAsPdf("<p>Static content only.</p>")
pdf.SaveAs("static.pdf")
PYTHON

停用 JavaScript 可縮短簡單靜態 HTML 文件的渲染時間。

如需更多渲染設定的詳細資訊,請參閱 PDF 生成設定自訂紙張尺寸範例

如何新增自訂頁首與頁尾?

在 IronPDF 中,頁首與頁尾是透過附加於渲染器 RenderingOptions 上的 HtmlHeaderFooterTextHeaderFooter 物件來套用的。 HtmlHeaderFooter 讓您完全掌控 HTML 與 CSS —— 非常適合用於帶有商標的信頭。 TextHeaderFooter 較為簡潔,且涵蓋了大多數基於文字的需求,包括動態頁碼。

文字型式頁首與頁尾

//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/headers-footers-text.py
from ironpdf import *

renderer = ChromePdfRenderer()

# Add a text header with the document title
renderer.RenderingOptions.TextHeader = TextHeaderFooter()
renderer.RenderingOptions.TextHeader.CenterText = "Quarterly Report — Q1 2024"
renderer.RenderingOptions.TextHeader.DrawDividerLine = True
renderer.RenderingOptions.TextHeader.FontSize = 10

# Add a footer with page numbers
renderer.RenderingOptions.TextFooter = TextHeaderFooter()
renderer.RenderingOptions.TextFooter.RightText = "Page {page} of {total-pages}"
renderer.RenderingOptions.TextFooter.FontSize = 9
renderer.RenderingOptions.TextFooter.DrawDividerLine = True

html = "<h1>Executive Summary</h1><p>Revenue increased 12% year-over-year.</p>"
pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("report-with-footer.pdf")
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/headers-footers-text.py
from ironpdf import *

renderer = ChromePdfRenderer()

# Add a text header with the document title
renderer.RenderingOptions.TextHeader = TextHeaderFooter()
renderer.RenderingOptions.TextHeader.CenterText = "Quarterly Report — Q1 2024"
renderer.RenderingOptions.TextHeader.DrawDividerLine = True
renderer.RenderingOptions.TextHeader.FontSize = 10

# Add a footer with page numbers
renderer.RenderingOptions.TextFooter = TextHeaderFooter()
renderer.RenderingOptions.TextFooter.RightText = "Page {page} of {total-pages}"
renderer.RenderingOptions.TextFooter.FontSize = 9
renderer.RenderingOptions.TextFooter.DrawDividerLine = True

html = "<h1>Executive Summary</h1><p>Revenue increased 12% year-over-year.</p>"
pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("report-with-footer.pdf")
PYTHON

{page}{total-pages} 占位符將在渲染時被正確的值所取代。 其他可用的佔位符包括 {time} 以及 {url}

帶有標誌的 HTML 標題

當需要品牌標頭(例如公司標誌、色帶或格式化的地址區塊)時,請改用 HtmlHeaderFooter 代替:

//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/headers-footers-html.py
from ironpdf import *

renderer = ChromePdfRenderer()

header_html = """
<div style="font-family: Arial, sans-serif; border-bottom: 2px solid #003366; padding: 8px 0;">
  <img src='assets/logo.png' style='height: 40px; float: left;' alt='Company logo'>
  <span style='float: right; font-size: 11px; color: #666;'>Confidential</span>
  <div style='clear:both;'></div>
</div>
"""

renderer.RenderingOptions.HtmlHeader = HtmlHeaderFooter()
renderer.RenderingOptions.HtmlHeader.HtmlFragment = header_html
renderer.RenderingOptions.HtmlHeader.BaseUrl = "./"

html_body = "<h1>Project Status Update</h1><p>All milestones on track.</p>"
pdf = renderer.RenderHtmlAsPdf(html_body, "./")
pdf.SaveAs("branded-report.pdf")
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/headers-footers-html.py
from ironpdf import *

renderer = ChromePdfRenderer()

header_html = """
<div style="font-family: Arial, sans-serif; border-bottom: 2px solid #003366; padding: 8px 0;">
  <img src='assets/logo.png' style='height: 40px; float: left;' alt='Company logo'>
  <span style='float: right; font-size: 11px; color: #666;'>Confidential</span>
  <div style='clear:both;'></div>
</div>
"""

renderer.RenderingOptions.HtmlHeader = HtmlHeaderFooter()
renderer.RenderingOptions.HtmlHeader.HtmlFragment = header_html
renderer.RenderingOptions.HtmlHeader.BaseUrl = "./"

html_body = "<h1>Project Status Update</h1><p>All milestones on track.</p>"
pdf = renderer.RenderHtmlAsPdf(html_body, "./")
pdf.SaveAs("branded-report.pdf")
PYTHON

請注意請將 BaseUrl 設定為與文件正文相同的基礎路徑。 這可確保頁首 HTML 中引用的圖片和樣式表能正確解析。)]

頁首與頁尾會顯示在生成的 PDF 每頁上,包含多頁文件。 如需包含頁尾頁面級元資料的實作範例,請參閱 HTML 頁首與頁尾程式碼範例

頁首與頁尾的邊距調整

在添加頁首或頁尾時,請增加相應的邊距,以避免內容與頁面主體重疊:

//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/headers-footers-margins.py
from ironpdf import *

renderer = ChromePdfRenderer()

renderer.RenderingOptions.MarginTop = 30     # Make room for header
renderer.RenderingOptions.MarginBottom = 20  # Make room for footer

renderer.RenderingOptions.TextHeader = TextHeaderFooter()
renderer.RenderingOptions.TextHeader.CenterText = "Internal Use Only"

renderer.RenderingOptions.TextFooter = TextHeaderFooter()
renderer.RenderingOptions.TextFooter.CenterText = "Page {page} of {total-pages}"

pdf = renderer.RenderHtmlAsPdf("<h1>Internal Document</h1><p>Body content.</p>")
pdf.SaveAs("margined-report.pdf")
//:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf/headers-footers-margins.py
from ironpdf import *

renderer = ChromePdfRenderer()

renderer.RenderingOptions.MarginTop = 30     # Make room for header
renderer.RenderingOptions.MarginBottom = 20  # Make room for footer

renderer.RenderingOptions.TextHeader = TextHeaderFooter()
renderer.RenderingOptions.TextHeader.CenterText = "Internal Use Only"

renderer.RenderingOptions.TextFooter = TextHeaderFooter()
renderer.RenderingOptions.TextFooter.CenterText = "Page {page} of {total-pages}"

pdf = renderer.RenderHtmlAsPdf("<h1>Internal Document</h1><p>Body content.</p>")
pdf.SaveAs("margined-report.pdf")
PYTHON

對於排版要求嚴格的文件,請結合邊距調整與 PaperSize 設定,使輸出結果完全符合 PRINT 規格。 其他版面配置控制項(例如 IronSoftwareSystemDrawingColor 背景填充與 CSS @page 規則)詳見自訂邊距範例


接下來該怎麼做?

本教學涵蓋了三種核心的 HTML 轉 PDF 方法,以及控制其輸出效果的渲染選項。 以下指南以此為基礎,涵蓋更專業的任務:

  • PDF 生成設定 — 深入探討 ChromePdfRenderOptions:DPI、背景渲染、CSS 媒體類型、JavaScript 等待策略,以及 PRINT 模式與螢幕模式的差異。
  • HTML 頁首與頁尾 — 帶有商標、頁碼、日期及多欄佈局的品牌化頁首與頁尾範本。
  • 自訂邊距與紙張尺寸 — 微調頁面幾何設定,以產生可直接列印的輸出結果及支援非標準格式。
  • 為 PDF 添加浮水印 — 在現有或新建立的 PDF 檔案上加蓋文字或圖片浮水印。
  • 從 PDF 擷取文字 — 透過程式化方式讀取已生成或現有 PDF 中的文字內容。

立即開始 30 天試用,在評估期間可生成無限量的無浮水印 PDF 檔案。 準備投入生產環境時,請查看適用於團隊及企業部署的授權方案

常見問題

如何在 Python 中將 HTML 字串轉換為 PDF?

建立 ChromePdfRenderer 實例,然後呼叫 renderer.RenderHtmlAsPdf(html_string)。此方法接受任何有效的 HTML,包括內嵌的 CSS 和 JavaScript。使用 pdf.SaveAs("output.pdf") 儲存回傳的 PdfDocument

如何安裝 IronPDF for Python?

請在終端機中執行 pip install ironpdf。IronPDF for Python 需要 .NET 6.0 SDK 或更高版本,首次使用前必須先自行安裝。

IronPDF 能否在 Python 中將即時網址轉換為 PDF?

是的。請使用 renderer.RenderUrlAsPdf("https://example.com")。IronPDF 會透過 Chromium 引擎擷取頁面,等待 JavaScript 執行完畢,然後根據完全渲染的 DOM 生成 PDF 檔案。

如何將本地的 HTML 檔案轉換為 PDF?

呼叫 renderer.RenderHtmlFileAsPdf("path/to/file.html")。IronPDF 會自動將所有相對資源路徑(樣式表、圖片、腳本)轉換為以 HTML 檔案所在目錄為基準的絕對路徑。

如何移除 IronPDF 生成的 PDF 檔案中的浮水印?

在執行任何 PDF 操作之前,請透過 License.LicenseKey = "YOUR-KEY" 設定有效的授權金鑰。若未設定金鑰,IronPDF 會添加適合開發但不可用於生產環境的拼接式浮水印。

IronPDF for Python 提供了哪些渲染選項?

renderer.RenderingOptions 上的屬性可控制紙張尺寸 (PaperSize)、方向 (PaperOrientation)、邊距 (MarginTopMarginLeft 等)、自訂尺寸 (CustomPaperWidthCustomPaperHeight)、JavaScript 執行 (EnableJavaScript) 等設定。

如何使用 Python 中的 IronPDF for Python 在 PDF 中添加頁碼?

請將 TextHeaderFooter 指派給 renderer.RenderingOptions.TextFooter,並在 RightTextCenterText 等文字屬性中包含 {page}{total-pages} 佔位符。

我可以在生成的 PDF 每頁添加品牌標誌頁首嗎?

是的。請使用 HtmlHeaderFooter 並搭配包含 標籤的 HTML 片段。將其指派給 renderer.RenderingOptions.HtmlHeader,並設定 BaseUrl 以確保圖片路徑能正確解析。

IronPDF 在 Python 中是否支援自訂紙張尺寸?

是的。請將 renderer.RenderingOptions.PaperSize 設定為 PdfPaperSize.Custom,然後以毫米為單位指定 CustomPaperWidthCustomPaperHeight,即可定義任意頁面的尺寸。

IronPDF for Python 需要哪個版本的 .NET?

IronPDF for Python 需要 .NET 6.0 SDK 或更高版本。該 SDK 可從 Microsoft .NET 下載頁面免費取得,並必須在透過 pip 安裝或執行 IronPDF 之前完成安裝。

Curtis Chau
技術撰稿人

Curtis Chau 擁有卡爾頓大學(Carleton University)的電腦科學學士學位,專精於前端開發,並精通 Node.js、TypeScript、JavaScript 及 React。他熱衷於打造直觀且美觀的用戶介面,喜歡運用現代框架,並創建結構完善、視覺上吸引人的手冊。

除了開發工作之外,Curtis 對物聯網(IoT)抱有濃厚興趣,致力於探索整合硬體與軟體的創新方法。閒暇時,他喜歡玩遊戲和開發 Discord 機器人,將對科技的熱愛與創意相結合。

準備開始了嗎?
版本: 2026.5 just released
Still Scrolling Icon

還在往下捲動嗎?

想要快速確認成果嗎?
執行範例 觀看您的 HTML 轉為 PDF。