跳過到頁腳內容
使用 IRONPDF FOR PYTHON

如何在 Python 中生成 PDF 表單

本文將使用IronPDF for Python從範本建立簡單的 PDF 文件。

IronPDF for Python

IronPDF是一個功能強大的 Python 庫,它徹底改變了開發人員與 PDF 文件互動的方式。 IronPDF 旨在簡化 PDF 檔案的建立、編輯和操作,使 Python 程式設計師能夠輕鬆地將複雜的 PDF 功能整合到他們的應用程式中。 無論是從頭開始產生 PDF,將 HTML 內容轉換為高品質 PDF,還是合併分割編輯現有 PDF ,IronPDF 的綜合工具和 API 集都能提供直覺且高效的解決方案。 IronPDF 擁有用戶友好的介面和豐富的文檔,為希望在 Python 專案中充分利用 PDF 潛力的開發人員開啟了無限可能,使其成為文件管理和自動化領域中不可或缺的資產。

先決條件

在Python中從模板產生PDF需要滿足以下前提條件:

  1. Python 安裝:確保您的系統上已安裝 Python。 IronPDF 庫與 Python 3.0 或更高版本相容,因此請確保您已安裝相容的 Python 版本。
  2. .NET 6.0 SDK:.NET 6.0 SDK 是在 Python 中使用 IronPDF 函式庫的先決條件。 IronPDF 建於 .NET Framework 之上,該框架提供了 PDF 生成和操作所需的底層功能。 因此,要在 Python 中使用 IronPDF,必須安裝 .NET 6.0 SDK。
  3. IronPDF庫:要安裝 IronPDF 庫,請使用 Python 套件管理器pip 。 打開命令列介面並執行以下命令:

    pip install ironpdf
    pip install ironpdf
    SHELL
  4. 整合開發環境 (IDE):雖然並非絕對必要,但使用 IDE 可以大幅提升您的開發體驗。 它提供程式碼自動完成、調試和更簡化的工作流程等功能。 PyCharm 是 Python 開發中一款受歡迎的 IDE。 您可以從 JetBrains 網站https://www.jetbrains.com/pycharm/下載並安裝 PyCharm。

建立一個新的 Python 項目

以下是在 PyCharm 中建立新 Python 專案的步驟。

  1. 若要建立新的 Python 項目,請開啟 PyCharm,前往頂部功能表中的"文件",然後按一下"新項目"。

    如何在 Python 中產生 PDF 表單,圖 1:PyCharm IDE PyCharm IDE

  2. 將出現一個新窗口,您可以在其中指定項目的環境和位置。 選擇環境後,點選"建立"按鈕。

    如何在 Python 中產生 PDF 表單,圖 2:在 PyCharm 中建立一個新的 Python 項目 在 PyCharm 中建立一個新的 Python 項目

  3. 就這樣,這個 Python 示範專案就創建完成了,可以投入使用了。

安裝 IronPDF。

要安裝IronPDF ,只需打開終端機並執行以下命令pip install ironpdf並按下回車鍵即可。 終端輸出應該如下所示。

如何在 Python 中產生 PDF 表單,圖 3:安裝 IronPDF 套件 安裝 IronPDF 軟體包

使用 IronPDF 從模板產生 PDF 文件

本節將說明如何使用來自控制台的輸入數據,從 HTML 範本產生 PDF 文件以建立 PDF 文件。

首先,導入一些用於建立 PDF 文件的依賴項。

# Import the required classes from the libraries
from ironpdf import ChromePdfRenderer
from jinja2 import Template
# Import the required classes from the libraries
from ironpdf import ChromePdfRenderer
from jinja2 import Template
PYTHON

接下來,將renderer宣告為ChromePdfRenderer對象,並使用它來渲染 HTML 模板。

# Create a renderer object to generate PDFs
renderer = ChromePdfRenderer()
# Create a renderer object to generate PDFs
renderer = ChromePdfRenderer()
PYTHON

現在,建立一個可重複使用的 HTML 範本文檔,用於建立 PDF 文件。 只需建立一個新變量,並用包含佔位符的 HTML 內容填充它。

# Define an HTML template with placeholders for dynamic data
html_template = """
<!DOCTYPE html>
<html>
<head>
    <title>{{ title }}</title>
</head>
<body>
    <h1>{{ title }}</h1>
    <p>
        Hello, {{ name }}! This is a sample PDF generated from a template using IronPDF for Python.
    </p>
    <p>
        Your age is {{ age }} and your occupation is {{ occupation }}.
    </p>
</body>
</html>
"""
# Define an HTML template with placeholders for dynamic data
html_template = """
<!DOCTYPE html>
<html>
<head>
    <title>{{ title }}</title>
</head>
<body>
    <h1>{{ title }}</h1>
    <p>
        Hello, {{ name }}! This is a sample PDF generated from a template using IronPDF for Python.
    </p>
    <p>
        Your age is {{ age }} and your occupation is {{ occupation }}.
    </p>
</body>
</html>
"""
PYTHON

設計模板準備就緒後,編寫程式碼以取得使用者輸入並將其儲存在字典中。

# Gather input from the user
title = input("Enter the title: ")
name = input("Enter your name: ")
age = input("Enter your age: ")
occupation = input("Enter your occupation: ")

# Store the input data into a dictionary for rendering the template
data = {
    "title": title,
    "name": name,
    "age": age,
    "occupation": occupation
}
# Gather input from the user
title = input("Enter the title: ")
name = input("Enter your name: ")
age = input("Enter your age: ")
occupation = input("Enter your occupation: ")

# Store the input data into a dictionary for rendering the template
data = {
    "title": title,
    "name": name,
    "age": age,
    "occupation": occupation
}
PYTHON

此外,下面的程式碼會將資料整合到模板文件中,並使用先前建立的 IronPDF renderer物件來渲染 HTML 模板。 最後,使用SaveAs方法儲存 PDF 檔案。

# Create a Template object with the HTML structure
template = Template(html_template)

# Render the template with the user-provided data
html_content = template.render(**data)

# Generate the PDF from the rendered HTML content
pdf = renderer.RenderHtmlAsPdf(html_content)

# Save the generated PDF to a file
pdf.SaveAs("output.pdf")
# Create a Template object with the HTML structure
template = Template(html_template)

# Render the template with the user-provided data
html_content = template.render(**data)

# Generate the PDF from the rendered HTML content
pdf = renderer.RenderHtmlAsPdf(html_content)

# Save the generated PDF to a file
pdf.SaveAs("output.pdf")
PYTHON

至此,動態建立 PDF 檔案的程式碼就完成了。 讓我們運行程式碼看看輸出結果。

輸出範例 1

程式碼運行後,會要求使用者輸入以下資訊。

如何在 Python 中產生 PDF 表單,圖 4:控制台需要使用者提供額外輸入 控制台需要使用者提供額外輸入。

請逐一輸入內容,並在每次輸入後按下回車鍵。 輸入全部四個參數後,它將產生一個PDF檔案。

如何在 Python 中產生 PDF 表單,圖 5:輸出的 PDF 文件 輸出的PDF文件

輸出範例 2

現在,重新運行程式並嘗試不同的輸入。

如何在 Python 中產生 PDF 表單,圖 6:不同輸入的控制台 具有不同輸入介面的控制台

如下所示,輸出檔案格式相同,但已根據新的輸入進行了更新。

如何在 Python 中產生 PDF 表單,圖 7:新的輸出 PDF 文件 新輸出的PDF文件

有關如何使用 IronPDF 在 Python 中建立、修改和讀取 PDF 的更多信息,請訪問文件頁面

結論

在程式設計和文檔自動化領域,Python 利用IronPDF庫從範本渲染 PDF 文檔,徹底改變了文件管理和工作流程效率。 這種強大的組合使開發人員能夠輕鬆創建自訂的 PDF 文件,例如發票、報告和證書,從而提高生產力和用戶體驗。 IronPDF 的全面工具和 API 與 Python 專案無縫集成,使開發人員能夠輕鬆處理 PDF 生成、編輯和操作任務,從而簡化開發流程並確保一致、完善的輸出。 Python 的多功能性,加上 IronPDF 的強大功能,使得這對組合成為任何尋求高效自動化 PDF 文件解決方案的開發人員不可或缺的工具。 此外,也可以透過相應地編輯 Python 程式碼,使用相同的技術從 CSV 檔案建立 PDF。

如您所見,輸出文件帶有浮水印。 您可以透過購買許可證輕鬆移除它們。 Lite套餐包含永久許可證、30 天退款保證、一年軟體支援和升級選項。 IronPDF 也提供免費試用許可證

常見問題解答

如何使用 Python 函式庫從 HTML 模板產生 PDF?

您可以使用 IronPDF 的 ChromePdfRenderer 將 HTML 內容渲染為 PDF。使用佔位符定義 HTML 模板,使用 Jinja2 將其與動態資料整合,然後將其渲染以產生 PDF。

在 Python 中使用 PDF 函式庫的系統需求為何?

要在 Python 中使用 IronPDF,您需要 Python 3.0 或更高版本、.NET 6.0 SDK 以及 IronPDF library(可使用 pip 安裝)。

如何在 Python 環境中安裝 IronPDF?

您可以在命令列介面執行 pip install ironpdf 指令來安裝 IronPdf。

如何在 PyCharm 中開始一個新的 Python 專案?

若要在 PyCharm 中建立新的 Python 專案,請前往「檔案」>「新專案」,指定環境與位置,然後按下「建立」。

我可以使用 Python 函式庫將 CSV 資料轉換成 PDF 檔案嗎?

是的,您可以使用 IronPDF 讀取 CSV 資料,將其納入 HTML 模板中,然後再使用 ChromePdfRenderer 將其渲染為 PDF。

在 Python 中從輸入資料建立 PDF 需要哪些步驟?

使用 IronPDF,您可以收集用戶輸入的資料,使用 Jinja2 將其整合到 HTML 模板中,使用 ChromePdfRenderer 渲染模板,然後儲存生成的 PDF 檔案。

如何從 Python 函式庫建立的 PDF 中移除水印?

若要移除 IronPDF 所產生 PDF 的水印,您可以購買授權,其中包括永久授權、30 天退款保證、一年支援以及升級選項。

是否可以使用 Python PDF 函式庫自動化文件工作流程?

是的,IronPDF 可以用於在 Python 應用程式中以程式化的方式建立、編輯和管理 PDF 檔案,從而自動化文件工作流程。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。