如何在 Python 中填寫 PDF 表單 (教程)

This article was translated from English: Does it need improvement?
Translated
View the article in English

我們將專注於如何透過程式設計填寫 PDF,而不是手動一個一個填寫 PDF 欄位。這種方法在應用程序的用戶界面提升用戶體驗,但需要電子方式生成 PDF 檔案以便存檔時變得非常有用。

一旦收集到所有的用戶輸入數據,就需要以程式設計方式創建 PDF 表單。這些填寫完的文件可以保存以便未來使用或根據需要進行修改。有幾個 Python 的 PDF 庫可用於處理 PDF,包括 PyPDF2、ReportLab、IronPDF 等。在本文中,我們將特別探討如何使用 IronPDF 填寫互動表單。

IronPDF 一個Python庫

IronPDF是一個為Python開發者設計的強大PDF庫,為他們提供了一種在Python腳本中創建、編輯和操作PDF文檔的簡單方法。

開發者可以利用IronPDF的全面功能集,其中包括處理文字和圖像、加密文件和實現數位簽名的能力。透過使用IronPDF,開發者可以有效地生成高質量的PDF文檔,從而提升其Python專案的價值和效率。

通過Pip安裝IronPDF

IronPDF庫可以通過pip添加。使用以下命令來使用pip安裝IronPDF:

 pip install ironpdf

現在你可以將IronPDF與你的Python腳本一起使用。

使用 Python 代碼以程式化方式填寫 PDF 文件

以下是一段展示使用 IronPDF 庫的示例代碼片段 創建和填充 使用HTML標記的PDF表單。所提供的代碼從IronPDF庫中導入了必要的類。

from ironpdf import *

# Create a PDF with editable forms from HTML using form and input tags
form_html = """
<html>
<body>
<h2>Editable PDF Form</h2>
<form>
First name: <br> <input type='text' name='firstname' value=''> <br>
Last name: <br> <input type='text' name='lastname' value=''>
</form>
</body>
</html>
"""

# Instantiate Renderer
renderer = ChromePdfRenderer()
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
renderer.RenderHtmlAsPdf(form_html).SaveAs("BasicForm.pdf")

# Read and Write PDF form values
form_document = PdfDocument.FromFile("BasicForm.pdf")

# Set and Read the value of the "firstname" field
first_name_field = form_document.Form.GetFieldByName("firstname")
first_name_field.Value = "Minnie"
print("FirstNameField value: {}".format(first_name_field.Value))

# Set and Read the value of the "lastname" field
last_name_field = form_document.Form.GetFieldByName("lastname")
last_name_field.Value = "Mouse"
print("LastNameField value: {}".format(last_name_field.Value))

form_document.SaveAs("FilledForm.pdf")
PYTHON

首先,我們通過使用 PdfDocument.RenderHtmlAsPdf 方法將標記的 HTML 表單轉換為 PDF 表單。RenderingOptions 屬性用來將 CreatePdfFormsFromHtml 設為 true,這使得 HTML 標記中的表單可編輯。生成的 PDF 然後使用 SaveAs 方法保存到指定的輸出位置。

輸出

其次,我們使用 PdfDocument.FromFile 方法載入建立的 PDF。通過使用 GetFieldByName 方法,可以根據各自的名稱存取指定的表單欄位。為了填寫名字和姓氏的輸入欄位,我們將值分配給它們的 Value 屬性。最後,使用 SaveAs 方法將修改後的 PDF 保存到新文件。

輸出

摘要

總之,IronPDF 作為一個可靠且高效的 Python PDF 文件操作庫脫穎而出。憑藉其卓越的程式化填寫 PDF 表單能力,它成為自動化文件處理工作流程中的寶貴資產。

IronPDF 提供免費試用,讓用戶可以在承諾之前探索其功能。此外,它還提供 授權選項 價格實惠且靈活,套裝方案起價為 $749。