跳至页脚内容
使用 IRONPDF FOR PYTHON

如何在 Python 中生成 PDF 表单

本教程将探讨如何使用该库创建PDF表单,创建新的PDF文件,并明确地将交互式表单与数据分组。

在Python中创建交互式PDF表单

  1. 安装生成PDF表单的PDF库。
  2. 从HTML字符串创建一个PDF表单并保存PDF文档。
  3. 使用PdfDocument类上传创建的PDF文件。
  4. 更新PDF文档字段。
  5. 将文档保存到新位置。

IronPDF。

Python是一种编程语言,可帮助快速简单地创建图形用户界面。 对于程序员来说,Python也比其他语言更具动态性。 因此,将IronPDF库添加到Python中是一个简单的过程。 可以使用大量预安装的工具,如PyQtwxWidgetsKivy及许多其他包和库,快速安全地构建一个完整的GUI。

IronPDF for Python结合了其他框架如.NET Core的一些功能。 如需更多信息,请点击以下IronPDF for Python的官方网站

使用IronPDF使Python网页设计和开发更容易。 因此,三个Python网页开发范式——Django、Flask和Pyramid——已经得到广泛认可。 Reddit、Mozilla和Spotify等网站和在线服务已经利用了这些框架。

IronPDF。 Features

安装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。 Library Requirement

大多数情况下,Python模块IronPDF使用.NET 6.0。因此,必须在您的计算机上安装.NET 6.0运行时才能在Python中使用IronPDF。 Linux和Mac用户可能需要先安装.NET才能使用此Python模块。 访问此页面获取所需的运行时环境。

IronPDF。 Library Setup

要生成、修改和打开“.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

在上面的示例中,创建了一个ChromePdfRenderer()对象,并将RenderingOptions.CreatePdfFormsFromHtml值设置为True,启用PDF文件中的表单。使用RenderHtmlAsPdf方法将HTML字符串作为参数传递。

借助SaveAs方法,从HTML字符串创建带有PDF表单的PDF文件,如下图所示,最初为空。 IronPDF再次更新PDF表单中的字段。 在PDF中,前两个字段是文本输入,另一个字段是单选按钮。

如何在Python中生成PDF表单,图6:PDF表单 PDF表单

接下来,使用同一个PdfDocument对象上传现有PDF表单。 使用Form.FindFormField方法,可以通过元素名称获取值,或者通过将元素索引传递到数组值中可以使用Form.Fields[]。 这些属性允许您获取并设置PDF表单中元素的值。 最后,触发SaveAs函数来将更新/新建的PDF文件保存到某个位置。

如何在Python中生成PDF表单,图7:上传PDF表单 上传PDF表单

上面是代码的结果,有助于填写PDF表单。 想了解更多关于PDF表单的信息,请参考以下示例页面

结论

IronPDF库提供强大的安全技术,以降低风险并保证数据安全。 它不限制于任何特定浏览器,与所有流行浏览器兼容。 通过几行代码,IronPDF使程序员能够快速生成和读取PDF文件。 IronPDF库提供了多种许可选项,以满足开发人员的各种需求,包括免费开发者许可证和其他可购买的开发许可证。

$799精简包包括一个永久许可证、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 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。