跳至頁尾內容
USING IRONPDF FOR PYTHON

如何在 Python 中生成 PDF 表單

本教程將探討如何使用該程式庫來建立PDF表單、建立新的PDF文件,並將互動式表單與資料顯式分組。

在Python中建立互動式PDF表單

  1. 安裝PDF程式庫以生成PDF表單。
  2. 從HTML字串建立PDF表單並儲存文件。
  3. 使用PdfDocument類上傳新建的PDF文件。
  4. 更新PDF文件欄位。
  5. 將文件保存到新位置。

IronPDF

Python是一種程式語言,可幫助快速且簡單地建立圖形使用者介面。 對程式開發者來說,Python比其他語言更加動態。 因此,在Python中新增IronPDF程式庫是一個簡單的過程。 可以使用廣泛的預安裝工具,例如Kivy和許多其他套件和程式庫,來快速、安全地構建完全完備的GUI。

IronPDF for Python結合了其他框架如.NET Core的多種功能。 欲了解更多資訊,請點擊以下IronPDF for Python的官方網頁

使用IronPDF,使Python網站設計和開發更加簡單。 因此,三種Python網站開發模式——Django、Flask和Pyramid——已獲得廣泛認可。 Reddit、Mozilla和Spotify等網站和網路服務已使用這些框架。

IronPDF 特性

設置Python

環境配置

確認您的計算機上已安裝Python。 要下載和安裝與您的操作系統相容的最新Python版本,請存取官方Python網站。 安裝Python後,請建立一個虛擬環境,以分隔專案的需求。 venv模組使您的轉換專案擁有乾淨、獨立的工作區,它允許您建立並管理虛擬環境。

PyCharm中的新項目

本文章建議使用PyCharm作為開發Python程式碼的IDE。

PyCharm IDE啟動後,選擇"新專案"。

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

選擇"新專案"時,將出現一個新窗口,您可以在其中指定專案的環境和位置。 您可能在下面的圖像中更容易理解這一點。

如何在Python中生成PDF表單,圖2:新專案 新專案

選擇專案位置和環境路徑後,按建立按鈕以啟動新專案。 隨後出現的新窗口可用於構建軟體。 本指南中使用的是Python 3.9。

如何在Python中生成PDF表單,圖3:建立專案 建立專案

IronPDF程式庫需求

大多數時間,Python模組IronPDF使用.NET 6.0。因此,必須在您的電腦上安裝.NET 6.0運行時,以便在Python中使用IronPDF。 Linux和Mac使用者可能需要在使用此Python模塊之前安裝.NET。 存取此頁面以獲取所需的運行環境。

IronPDF程式庫設置

要生成、修改和打開".pdf"擴展名的文件,必須安裝"IronPDF"包。 打開終端窗口,輸入以下命令以在PyCharm中安裝包:

pip install ironpdf

下圖顯示了安裝'IronPDF'套件的過程。

如何在Python中生成PDF表單,圖4:IronPDF IronPDF

生成PDF表單

借助IronPDF,可以輕鬆建立互動PDF表單。 只需幾行程式碼,以下展示了帶有單選演示的PDF表單範例。

如何在Python中生成PDF表單,圖5:範例PDF表單第一頁 範例PDF表單第一頁

以上HTML作為字串在以下程式碼中用於建立PDF表單。

from ironpdf import ChromePdfRenderer, PdfDocument

# Define HTML string to construct the form
form_data = """
<html>
    <body>
        <table>
            <tr>
                <td>Name</td>
                <td><input name="name" type="text"/></td>
            </tr>
            <tr>
                <td>Age</td>
                <td><input name="age" type="text"/></td>
            </tr>
            <tr>
                <td>Gender</td>
            </tr>
            <tr>
                <td><input name="Gender" type="radio">Male</input></td>
                <td><input name="Gender" type="radio">Female</input></td>
            </tr>
        </table>
    </body>
</html>"""

# Step 1: Create PDF Form from HTML string
renderer = ChromePdfRenderer()
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
# Render HTML to PDF and save it
renderer.RenderHtmlAsPdf(form_data).SaveAs("DemoForm.pdf")

# Step 2: Reading and Writing PDF form values
form_document = PdfDocument.FromFile("DemoForm.pdf")

# Find the 'name' field and update its value
name_field = form_document.Form.FindFormField("name")
name_field.Value = "Mike"
print(f"NameField value: {name_field.Value}")

# Find the 'age' field and update its value
age_field = form_document.Form.FindFormField("age")
age_field.Value = "21"
print(f"AgeField value: {age_field.Value}")

# Update the first 'Gender' radio field, assuming it's the male option
gender_field = form_document.Form.Fields[3]
gender_field.Value = "On"

# Save the updated PDF to a new file
form_document.SaveAs("UpdatedForm.pdf")
from ironpdf import ChromePdfRenderer, PdfDocument

# Define HTML string to construct the form
form_data = """
<html>
    <body>
        <table>
            <tr>
                <td>Name</td>
                <td><input name="name" type="text"/></td>
            </tr>
            <tr>
                <td>Age</td>
                <td><input name="age" type="text"/></td>
            </tr>
            <tr>
                <td>Gender</td>
            </tr>
            <tr>
                <td><input name="Gender" type="radio">Male</input></td>
                <td><input name="Gender" type="radio">Female</input></td>
            </tr>
        </table>
    </body>
</html>"""

# Step 1: Create PDF Form from HTML string
renderer = ChromePdfRenderer()
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
# Render HTML to PDF and save it
renderer.RenderHtmlAsPdf(form_data).SaveAs("DemoForm.pdf")

# Step 2: Reading and Writing PDF form values
form_document = PdfDocument.FromFile("DemoForm.pdf")

# Find the 'name' field and update its value
name_field = form_document.Form.FindFormField("name")
name_field.Value = "Mike"
print(f"NameField value: {name_field.Value}")

# Find the 'age' field and update its value
age_field = form_document.Form.FindFormField("age")
age_field.Value = "21"
print(f"AgeField value: {age_field.Value}")

# Update the first 'Gender' radio field, assuming it's the male option
gender_field = form_document.Form.Fields[3]
gender_field.Value = "On"

# Save the updated PDF to a new file
form_document.SaveAs("UpdatedForm.pdf")
PYTHON

在上述範例中,建立了一個RenderHtmlAsPdf方法將HTML字串作為參數傳遞。

借助SaveAs方法,從HTML字串中建立的PDF文件將包含PDF表單,它將看起來像下面的圖像,一開始是空的。 IronPDF 再次更新了PDF表單中的欄位。 在PDF中,前兩個欄位是文字輸入,另一個欄位是單選按鈕。

如何在Python中生成PDF表單,圖6:PDF表單 PDF表單

接下來,同一PdfDocument物件用於上傳現有的PDF表單。 使用Form.Fields[]。 這些屬性允許您獲取和設置PDF表單中元素的值。 最後,觸發SaveAs功能以將更新/新建的PDF文件保存到某個位置。

如何在Python中生成PDF表單,圖7:上傳PDF表單 上傳PDF表單

以上是程式碼的結果,可幫助填寫PDF表單。 欲了解更多關於PDF表單的資訊,請參考以下範例頁面

結論

IronPDF程式庫提供強大的安全技術,以降低風險並確保資料安全。 它不限於任何特定的瀏覽器,且與所有流行的瀏覽器相容。 只需幾行程式碼,IronPDF便可讓程式員快速生成和讀取PDF文件。 IronPDF程式庫提供多種授權選擇,滿足開發者多樣化的需求,包括免費的開發者授權和其他可以購買的開發授權。

$999 Lite 套件包括永久授權、30天退款保證、一年的軟體維護和升級選項。 首次購買後不再有其他費用支出。 這些授權可用於開發、測試和生產環境。 此外,IronPDF提供免費授權,僅有一些時間和再分發限制。 使用者可以在無水印的免費試用期內評估產品的實際使用情況。 請點擊以下授權頁面,以了解更多關於IronPDF試用版的費用及授權方式。

常見問題

如何使用Python生成PDF表單?

您可以使用IronPDF在Python中生成PDF表單,方法是編寫HTML字串以定義表單結構,然後使用ChromePdfRenderer將此HTML轉換為PDF表單。確保您啟用CreatePdfFormsFromHtml選項,使表單具有交互性。

在Python中更新PDF表單中的欄位的過程是什麼?

要使用IronPDF更新PDF表單中的欄位,請將PDF載入到PdfDocument物件中。然後,使用Form.FindFormFieldForm.Fields找到特定的表單欄位。設置這些欄位的期望值並保存修改後的文件。

哪些Web開發框架與Python中的PDF程式庫相容?

IronPDF與流行的Python Web框架如Django、Flask和Pyramid相容,允許無縫整合到各種Web應用程式中。

在Web開發中使用PDF程式庫的好處是什麼?

在Web開發中使用類似IronPDF的PDF程式庫讓您可以將HTML、圖像和其他格式轉換為PDF、處理交互式表單、合併和拆分文件、提取文字並確保安全的文件存取,提升了Web應用程式的整體功能。

Python PDF程式庫所需的安裝步驟是什麼?

要在Python環境中安裝IronPDF,首先確保已安裝Python和.NET 6.0運行時。然後,使用pip將IronPDF包新增到您的項目中,最好使用像PyCharm這樣的IDE。

我可以以安全的方式使用PDF程式庫嗎?

是的,IronPDF包含安全功能,如密碼保護和存取憑證,以保護PDF文件,使其適合用於安全環境。

Python PDF程式庫提供哪些授權選項?

IronPDF提供靈活的授權選項,包括免費開發者授權、具有30天退款保證的永久授權以及維護選項,適合開發、暫場和生產環境。

建議用於Python中的PDF程式庫工作的IDE是什麼?

建議使用PyCharm在Python中與IronPDF一起工作,提供功能強大的環境,方便專案管理和程式碼開發。

Python PDF程式庫有可用的試用版本嗎?

是的,IronPDF提供免費的試用版本,沒有浮水印,允許開發人員在真實場景中評估其功能,然後再進行購買。

Curtis Chau
技術作家

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

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話