如何在 Python 中生成 PDF 表單
本教程將探討如何使用該程式庫來建立PDF表單、建立新的PDF文件,並將互動式表單與資料顯式分組。
在Python中建立互動式PDF表單
- 安裝PDF程式庫以生成PDF表單。
- 從HTML字串建立PDF表單並儲存文件。
- 使用
PdfDocument類上傳新建的PDF文件。 - 更新PDF文件欄位。
- 將文件保存到新位置。
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 特性
- 使用IronPDF,可以從多種格式生成PDF,包括HTML、HTML5、ASPX和Razor/MVC View。 它提供了將圖像轉換為PDF格式和將HTML頁面轉換為PDF文件的選擇。
- 使用IronPDF套件可以建立互動式PDF、完成和提交互動表單、合併和分割PDF文件、提取文字和圖像、在PDF文件中搜尋文字、將PDF光柵化為圖像、改變字體大小、邊框和背景顏色及進行PDF文件轉換。
- IronPDF提供HTML登錄表單驗證,支援使用者代理、代理伺服器、cookie、HTTP標頭和表單變數。
- IronPDF 使用使用者名和密碼來存取安全文件。
- 只需幾行程式碼,我們就可以從多種來源,例如字串、流或URL列印PDF文件。
- IronPDF 允許我們建立平面化的PDF文件。
設置Python
環境配置
確認您的計算機上已安裝Python。 要下載和安裝與您的操作系統相容的最新Python版本,請存取官方Python網站。 安裝Python後,請建立一個虛擬環境,以分隔專案的需求。 venv模組使您的轉換專案擁有乾淨、獨立的工作區,它允許您建立並管理虛擬環境。
PyCharm中的新項目
本文章建議使用PyCharm作為開發Python程式碼的IDE。
PyCharm IDE啟動後,選擇"新專案"。
PyCharm
選擇"新專案"時,將出現一個新窗口,您可以在其中指定專案的環境和位置。 您可能在下面的圖像中更容易理解這一點。
新專案
選擇專案位置和環境路徑後,按建立按鈕以啟動新專案。 隨後出現的新窗口可用於構建軟體。 本指南中使用的是Python 3.9。
建立專案
IronPDF程式庫需求
大多數時間,Python模組IronPDF使用.NET 6.0。因此,必須在您的電腦上安裝.NET 6.0運行時,以便在Python中使用IronPDF。 Linux和Mac使用者可能需要在使用此Python模塊之前安裝.NET。 存取此頁面以獲取所需的運行環境。
IronPDF程式庫設置
要生成、修改和打開".pdf"擴展名的文件,必須安裝"IronPDF"包。 打開終端窗口,輸入以下命令以在PyCharm中安裝包:
pip install ironpdf
下圖顯示了安裝'IronPDF'套件的過程。
IronPDF
生成PDF表單
借助IronPDF,可以輕鬆建立互動PDF表單。 只需幾行程式碼,以下展示了帶有單選演示的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")在上述範例中,建立了一個RenderHtmlAsPdf方法將HTML字串作為參數傳遞。
借助SaveAs方法,從HTML字串中建立的PDF文件將包含PDF表單,它將看起來像下面的圖像,一開始是空的。 IronPDF 再次更新了PDF表單中的欄位。 在PDF中,前兩個欄位是文字輸入,另一個欄位是單選按鈕。
PDF表單
接下來,同一PdfDocument物件用於上傳現有的PDF表單。 使用Form.Fields[]。 這些屬性允許您獲取和設置PDF表單中元素的值。 最後,觸發SaveAs功能以將更新/新建的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.FindFormField或Form.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提供免費的試用版本,沒有浮水印,允許開發人員在真實場景中評估其功能,然後再進行購買。









