IRONSOFTWAREHOME

如何在Python中製作PDF檔案

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

使用IronPDF在Python中建立PDF檔案,只需幾行程式碼即可將HTML字串、HTML文件或URL轉換為PDF文件。 IronPDF會自動處理渲染、格式化和安全功能。

快速入門:在Python中建立PDF
# 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

在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生命周期:

[IronPDF適用於.NET、Java、Python和Node.js。 這份指南專門涵蓋Python的實現。)}]

在建立PDF之前有哪些前提條件?

要使用IronPDF for Python,必須安裝以下程式:

  1. .NET 6.0 SDK:IronPDF for Python運行於IronPDF .NET程式庫之上。 從微軟.NET 6.0官方下載頁面下載。
  2. Python 3.x:從Python官方網站下載並安裝Python。 安裝時選擇將Python新增到PATH的選項。
  3. pip:隨附於Python 3.4+。 通過在終端中運行pip --version來驗證安裝。
  4. IronPDF:使用pip安裝程式庫:

> pip install ironpdf

請注意: 在某些系統中,Python 2.x可能仍是預設版本。 在這些情況下,使用pip來安裝Python 3套件。 如果遇到安裝錯誤,請參考我們的OSError問題的故障排除指南。

在建立PDF之前需要哪些程式碼設置?

將以下導入語句新增到Python腳本的頂部:

# Import statement for IronPDF for Python
from ironpdf import *
Python

在進行其他IronPDF調用之前,請通過將有效的授權金鑰分配給LicenseKey屬性來配置它。 這將去除生成的PDF中的試用水印。 有關實施授權金鑰的詳細指南,請存取授權金鑰設置指南。

# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Python
重要: 要建立無水印的PDF,需要有效的授權金鑰。 購買授權或獲取免費試用授權金鑰。 沒有授權金鑰,IronPDF會在每個輸出PDF上新增試用水印。

如何將HTML字串轉換為PDF文件?

RenderHtmlAsPdf 方法直接將HTML字串轉換為 PdfDocument 物件。 將任何有效的HTML標記作為參數傳遞,IronPDF將使用其內建的Chromium引擎渲染,執行JavaScript和應用CSS,然後生成PDF。

這種方法對於動態生成的內容最為靈活:在Python中構建HTML字串(使用模板引擎如Jinja2或簡單的字串格式化),然後將其直接傳遞給渲染器。 例如,生成發票意味著使用訂單資料填充HTML模板,並在一步中調用RenderHtmlAsPdf。

from 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>")
Python

如何保存生成的PDF?

一旦HTML字串已被轉換為SaveAs:

# Save the PDF to a file
pdf.SaveAs("htmlstring_to_pdf.pdf")
Python

文件htmlstring_to_pdf.pdf寫入到當前工作目錄,保留HTML內容及整個CSS樣式。 有關高級HTML渲染技術,包括CSS框架、JavaScript框架和複雜佈局,請參閱Python的HTML到PDF教程。

如何從本地HTML文件生成PDF?

當HTML內容位於本地文件系統中的一個文件時,RenderHtmlFileAsPdf是一個正確的方法。 提供文件路徑作為參數:

from 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")
Python

IronPDF解析相對於HTML文件位置的CSS文件、圖片和腳本的相對路徑。 渲染器在生成PDF前載入所有相關資產,因此結果與瀏覽器顯示的內容匹配。 這使其成為一個可靠的選擇,適用於模板化的文件,其中HTML和資產作為磁盤上的文件進行維護。

提示: 在處理本地HTML文件時,確保所有連結的資產(樣式表、字型、圖片)使用相對於HTML文件的路徑。IronPDF在渲染之前解析這些路徑,生成完整的自包含PDF。

如何在Python中從URL建立PDF?

使用RenderUrlAsPdf將實時網頁轉換為PDF。 提供完整的URL作為參數:

from 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")
Python

URL渲染功能支持現代網頁技術,包括動態JavaScript內容、AJAX調用和響應式佈局。 IronPDF等到頁面完全載入,包括JavaScript執行,然後捕捉PDF,因此所有動態內容準確捕捉。

在哪裡可以找到更多URL轉換範例?

有關將網頁轉換為PDF的更多範例,請存取URL到PDF程式碼範例頁面。 對於需要身份驗證的網頁,請參見網站和系統登錄指南。

如何自定義PDF格式選項?

ChromePdfRenderer控制了輸出PDF的格式和佈局。 常用設置包括頁面大小、頁面方向、邊距大小和縮放級別。

from 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")
Python

有哪些格式化設置可用?

RenderingOptions屬性提供了紙張大小、頁面方向、邊距和縮放的設置。 下表列出了最常用的屬性:

Python中PDF格式化的常用RenderingOptions屬性
屬性型別描述
PaperSizePdfPaperSize標準頁面大小(A4、Letter、Legal)或自定義大小
PaperOrientationPdfPaperOrientation頁面方向為豎向或橫向
MarginTop / MarginBottomint(毫米)頁面頂部和底部的邊距,以毫米為單位
MarginLeft / MarginRightint(毫米)頁面左側和右側的邊距,以毫米為單位
HtmlHeader / HtmlFooterHtmlHeaderFooter支持頁碼的運行HTML標題和頁腳

有關額外設置的完整參考,請參閱PDF生成設置程式碼範例。

提示: 要新增運行的標頭和頁腳與頁碼,請在HtmlFooter屬性。 標頭和頁腳範例展示了完整語法。

如何使用密碼保護PDF文件?

要使用密碼保護PDF,請在UserPassword屬性。 所有者密碼同樣可以設置,以分別限制編輯權限與讀取權限。

考慮在URL範例中建立的PDF進行保護:

from 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")
Python

密碼保護實際上是如何運作的?

在任何PDF查看器中打開protected.pdf時,會在顯示文件內容前提示使用者密碼。 所有者密碼提供對安全設置的管理存取。 設置AllowUserCopyPasteContent = False防止讀者從PDF中複製文字,但仍允許列印。

要對文件權限進行更多控制,請參見安全和元資料設置範例及PDF加密和解密指南。

完整的源程式碼是什麼?

下面的綜合範例示範了在一個Python腳本中進行的所有四種PDF建立工作流程:

from 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")
Python

IronPDF準確渲染所有圖片和文字,同時保留格式。 互動元素如按鈕維持其功能,文字框在生成的PDF中保留其可編輯性。

在Python中建立PDF的下一步是什麼?

本指南涵蓋了IronPDF for Python中的三種主要PDF建立方法——HTML字串、本地HTML文件和URL——以及用於保護輸出文件的密碼保護。 每種方法都會生成一個PdfDocument物件,可以進一步處理:在保存之前進行印章、合併、拆分或加密。

準備好擴展這些工作流程了嗎? 以下資源展示了實際的下一步:

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物件。

What are the main methods for creating PDFs in IronPDF?

The main methods for creating PDFs in IronPDF include converting an HTML string, a local HTML file, a live URL, and securing the PDF with passwords. Each method is designed to handle different types of content transformations.

How can I ensure that my generated PDFs are not watermarked when using IronPDF?

You need to configure a valid license key before generating PDFs to ensure they are not watermarked. Assign the license key to the `LicenseKey` attribute in your script to remove the trial watermark.

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

...
閱讀更多

準備開始了嗎?

版本:2026.9剛剛發布

立即獲取免費

立即獲取 30天試用金鑰。

bullet_checked無需信用卡或註冊帳號
bullet_test在生產
環境中進行測試,且不顯示浮水印
bullet_calendar30 天全
功能產品
bullet_support試用期間提供 24/5 技術
支援
立即獲得您的免費30天試用金鑰。
不需要信用卡或註冊帳戶
PDF的Python模塊下載
使用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天試用金鑰。
無需信用卡或帳戶建立
PDF的Python模塊下載
使用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起的授權