跳至页脚内容
使用 IRONPDF FOR PYTHON

如何在 Python 中生成 PDF 表单

本文将使用IronPDF for Python从模板创建简单的 PDF 文档。

IronPDF for Python

IronPDF是一个功能强大的 Python 库,它彻底改变了开发人员与 PDF 文档交互的方式。 IronPDF 旨在简化 PDF 文件的创建、编辑和操作,使 Python 程序员能够轻松地将复杂的 PDF 功能集成到他们的应用程序中。 无论是从头开始生成 PDF,将 HTML 内容转换为高质量 PDF,还是合并拆分编辑现有 PDF ,IronPDF 的综合工具和 API 集都能提供直观高效的解决方案。 IronPDF 拥有用户友好的界面和丰富的文档,为希望在 Python 项目中充分利用 PDF 潜力的开发人员开启了无限可能,使其成为文档管理和自动化领域中不可或缺的资产。

前提条件

在Python中从模板生成PDF需要满足以下前提条件:

  1. Python 安装:确保您的系统上已安装 Python。 IronPDF 库与 Python 3.0 或更高版本兼容,因此请确保您已安装兼容的 Python 版本。
  2. .NET 6.0 SDK:.NET 6.0 SDK 是在 Python 中使用 IronPDF 库的先决条件。 IronPDF 构建于 .NET Framework 之上,该框架提供了 PDF 生成和操作所需的底层功能。 因此,要在 Python 中使用 IronPDF,必须安装 .NET 6.0 SDK。
  3. IronPDF库:要安装 IronPDF 库,请使用 Python 包管理器pip 。 打开命令行界面并执行以下命令:

    pip install ironpdf
    pip install ironpdf
    SHELL
  4. 集成开发环境 (IDE):虽然并非绝对必要,但使用 IDE 可以极大地提升您的开发体验。 它提供代码自动完成、调试和更简化的工作流程等功能。 PyCharm 是 Python 开发中一款流行的 IDE。 您可以从 JetBrains 网站https://www.jetbrains.com/pycharm/下载并安装 PyCharm。

创建一个新的 Python 项目

以下是在 PyCharm 中创建新的 Python 项目的步骤。

  1. 要创建一个新的 Python 项目,请打开 PyCharm,转到顶部菜单中的"文件",然后单击"新建项目"。

如何在 Python 中生成 PDF 表单,图 1:PyCharm IDE PyCharm IDE

  1. 将出现一个新窗口,您可以在其中指定项目的环境和位置。 选择环境后,点击"创建"按钮。

如何在 Python 中生成 PDF 表单,图 2:在 PyCharm 中创建一个新的 Python 项目 在 PyCharm 中创建新的 Python 项目

  1. 就这样,这个 Python 演示项目就创建完成了,可以投入使用了。

安装 IronPDF

要安装IronPDF ,只需打开终端并运行以下命令pip install ironpdf并按回车键即可。 终端输出应该如下所示。

如何在 Python 中生成 PDF 表单,图 3:安装 IronPDF 包 安装 IronPDF 包

使用 IronPDF 从模板生成 PDF 文件

本节将解释如何使用来自控制台的输入数据,从 HTML 模板生成 PDF 文档以创建 PDF 文件。

首先,导入一些用于创建 PDF 文件的依赖项。

# Import the required classes from the libraries
from ironpdf import ChromePdfRenderer
from jinja2 import Template
# Import the required classes from the libraries
from ironpdf import ChromePdfRenderer
from jinja2 import Template
PYTHON

接下来,将renderer声明为ChromePdfRenderer对象,并使用它来渲染 HTML 模板。

# Create a renderer object to generate PDFs
renderer = ChromePdfRenderer()
# Create a renderer object to generate PDFs
renderer = ChromePdfRenderer()
PYTHON

现在,创建一个可重复使用的 HTML 模板文档,用于创建 PDF 文件。 只需创建一个新变量,并用包含占位符的 HTML 内容填充它即可。

# Define an HTML template with placeholders for dynamic data
html_template = """
<!DOCTYPE html>
<html>
<head>
    <title>{{ title }}</title>
</head>
<body>
    <h1>{{ title }}</h1>
    <p>
        Hello, {{ name }}! This is a sample PDF generated from a template using IronPDF for Python.
    </p>
    <p>
        Your age is {{ age }} and your occupation is {{ occupation }}.
    </p>
</body>
</html>
"""
# Define an HTML template with placeholders for dynamic data
html_template = """
<!DOCTYPE html>
<html>
<head>
    <title>{{ title }}</title>
</head>
<body>
    <h1>{{ title }}</h1>
    <p>
        Hello, {{ name }}! This is a sample PDF generated from a template using IronPDF for Python.
    </p>
    <p>
        Your age is {{ age }} and your occupation is {{ occupation }}.
    </p>
</body>
</html>
"""
PYTHON

设计模板准备就绪后,编写代码以获取用户输入并将其存储在字典中。

# Gather input from the user
title = input("Enter the title: ")
name = input("Enter your name: ")
age = input("Enter your age: ")
occupation = input("Enter your occupation: ")

# Store the input data into a dictionary for rendering the template
data = {
    "title": title,
    "name": name,
    "age": age,
    "occupation": occupation
}
# Gather input from the user
title = input("Enter the title: ")
name = input("Enter your name: ")
age = input("Enter your age: ")
occupation = input("Enter your occupation: ")

# Store the input data into a dictionary for rendering the template
data = {
    "title": title,
    "name": name,
    "age": age,
    "occupation": occupation
}
PYTHON

此外,下面的代码会将数据集成到模板文档中,并使用之前创建的 IronPDF renderer对象来渲染 HTML 模板。 最后,使用SaveAs方法保存 PDF 文件。

# Create a Template object with the HTML structure
template = Template(html_template)

# Render the template with the user-provided data
html_content = template.render(**data)

# Generate the PDF from the rendered HTML content
pdf = renderer.RenderHtmlAsPdf(html_content)

# Save the generated PDF to a file
pdf.SaveAs("output.pdf")
# Create a Template object with the HTML structure
template = Template(html_template)

# Render the template with the user-provided data
html_content = template.render(**data)

# Generate the PDF from the rendered HTML content
pdf = renderer.RenderHtmlAsPdf(html_content)

# Save the generated PDF to a file
pdf.SaveAs("output.pdf")
PYTHON

至此,动态创建 PDF 文件的代码就完成了。 让我们运行代码看看输出结果。

输出示例 1

代码运行后,会要求用户输入以下信息。

如何在 Python 中生成 PDF 表单,图 4:控制台需要用户提供额外输入 控制台需要用户提供额外输入。

请逐一输入内容,并在每次输入后按回车键。 输入全部四个参数后,它将生成一个PDF文件。

如何在 Python 中生成 PDF 表单,图 5:输出的 PDF 文件 输出 PDF 文件

输出示例 2

现在,重新运行程序并尝试不同的输入。

如何在 Python 中生成 PDF 表单,图 6:不同输入的控制台 具有不同输入接口的控制台

如下所示,输出文件格式相同,但已根据新的输入进行了更新。

如何在 Python 中生成 PDF 表单,图 7:新的输出 PDF 文件 新输出的PDF文件

有关如何使用 IronPDF 在 Python 中创建、修改和读取 PDF 的更多信息,请访问文档页面

结论

在编程和文档自动化领域,Python 利用IronPDF库从模板渲染 PDF 文档,彻底改变了文档管理和工作流程效率。 这种强大的组合使开发人员能够轻松创建定制的 PDF 文件,例如发票、报告和证书,从而提高生产力和用户体验。 IronPDF 的全面工具和 API 与 Python 项目无缝集成,使开发人员能够轻松处理 PDF 生成、编辑和操作任务,从而简化开发过程并确保一致、完善的输出。 Python 的多功能性,加上 IronPDF 的强大功能,使得这对组合成为任何寻求高效自动化 PDF 文档解决方案的开发人员不可或缺的工具。 此外,也可以通过相应地编辑 Python 代码,使用相同的技术从 CSV 文件创建 PDF。

您可能已经注意到,输出文件带有水印。 您可以通过购买许可证轻松移除它们。 Lite套餐包含永久许可证、30 天退款保证、一年软件支持和升级选项。 IronPDF 还提供免费试用许可证

常见问题解答

如何使用 Python 库从 HTML 模板生成 PDF?

你可以使用 IronPDF 的 ChromePdfRenderer 来将 HTML 内容渲染为 PDF。定义一个具有占位符的 HTML 模板,使用 Jinja2 集成动态数据,然后渲染生成 PDF。

在 Python 中使用 PDF 库的系统要求是什么?

要在 Python 中使用 IronPDF,需要 Python 3.0 或更高版本、.NET 6.0 SDK 和 IronPDF 库,可以通过 pip 安装。

如何在我的 Python 环境中安装 IronPDF?

你可以通过在命令行界面中运行命令 pip install ironpdf 来安装 IronPDF。

如何在 PyCharm 中启动一个新的 Python 项目?

要在 PyCharm 中创建一个新的 Python 项目,转到 '文件' > '新建项目',指定环境和位置,然后点击 '创建'。

我可以使用 Python 库将 CSV 数据转换为 PDF 文件吗?

可以,你可以使用 IronPDF 读取 CSV 数据,将其纳入 HTML 模板中,然后使用 ChromePdfRenderer 将其呈现为 PDF。

在 Python 中从输入数据创建 PDF 需要哪些步骤?

使用 IronPDF,您从用户那里收集输入数据,将其集成到 HTML 模板中使用 Jinja2,与 ChromePdfRenderer 一起渲染模板,然后保存生成的 PDF 文件。

如何删除由 Python 库创建的 PDF 中的水印?

要删除 IronPDF 生成的 PDF 中的水印,您可以购买一个许可证,其中包括永久许可证、30 天退款保证、一年的支持和升级选项。

是否可以使用 Python PDF 库自动化文档工作流?

是的,IronPDF 可以通过允许在 Python 应用程序内以编程方式创建、编辑和管理 PDF 文件来自动化文档工作流。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

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