如何在 Python 中生成 PDF 表单
本教程将探讨如何使用该库创建PDF表单,创建新的PDF文件,并明确地将交互式表单与数据分组。
在Python中创建交互式PDF表单
- 安装生成PDF表单的PDF库。
- 从HTML字符串创建一个PDF表单并保存PDF文档。
- 使用
PdfDocument类上传创建的PDF文件。 - 更新PDF文档字段。
- 将文档保存到新位置。
IronPDF。
Python是一种编程语言,可帮助快速简单地创建图形用户界面。 对于程序员来说,Python也比其他语言更具动态性。 因此,将IronPDF库添加到Python中是一个简单的过程。 可以使用大量预安装的工具,如PyQt、wxWidgets、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视图。 它提供将图像转换为PDF格式并将HTML页面转换为PDF文件的选项。
- 创建交互式PDF、完成并提交交互式表单、合并和拆分PDF文件、提取文本和图像、在PDF文件中搜索文本、将PDF栅格化为图像、更改字体大小、边框和背景颜色以及转换PDF文件,所有这些任务IronPDF工具包都可以帮助完成。
- IronPDF提供支持用户代理、代理、Cookie、HTTP标头和表单变量的HTML登录表单验证。
- 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用户可能需要先安装.NET才能使用此Python模块。 访问此页面获取所需的运行时环境。
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")在上面的示例中,创建了一个ChromePdfRenderer()对象,并将RenderingOptions.CreatePdfFormsFromHtml值设置为True,启用PDF文件中的表单。使用RenderHtmlAsPdf方法将HTML字符串作为参数传递。
借助SaveAs方法,从HTML字符串创建带有PDF表单的PDF文件,如下图所示,最初为空。 IronPDF再次更新PDF表单中的字段。 在PDF中,前两个字段是文本输入,另一个字段是单选按钮。
PDF Form
接下来,使用同一个PdfDocument对象上传现有PDF表单。 使用Form.FindFormField方法,可以通过元素名称获取值,或者通过将元素索引传递到数组值中可以使用Form.Fields[]。 这些属性允许您获取并设置PDF表单中元素的值。 最后,触发SaveAs函数来将更新/新建的PDF文件保存到某个位置。
上传PDF表单
上面是代码的结果,有助于填写PDF表单。 想了解更多关于PDF表单的信息,请参考以下示例页面。
结论
IronPDF库提供强大的安全技术,以降低风险并保证数据安全。 它不限制于任何特定浏览器,与所有流行浏览器兼容。 通过几行代码,IronPDF使程序员能够快速生成和读取PDF文件。 IronPDF库提供了多种许可选项,以满足开发人员的各种需求,包括免费开发者许可证和其他可购买的开发许可证。
$799精简包包括一个永久许可证、30天退款保证、一年的软件维护和升级选项。 初次购买后没有额外费用。 这些许可证可以用于开发、测试和生产环境。 此外,IronPDF提供免费许可证,但有一些时间和再发布限制。 用户可以在免费试用期间评估产品在实际使用中的性能,而不会有水印。 请点击以下许可页面了解IronPDF试用版的费用及如何许可。
常见问题解答
如何使用 Python 生成 PDF 表单?
您可以通过编写 HTML 字符串定义表单结构,并使用 IronPDF 中的 ChromePdfRenderer 将该 HTML 转换为 PDF 表单来在 Python 中生成 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 提供免费的无水印试用版本,允许开发人员在实际场景中评估其功能,然后再决定购买。









