Javatpoint标志
Javatpoint标志

使用Python创建交互式PDF表单

为了操作PDF文件,Python提供了可以执行的不同功能,我们已经在前两个教程中讨论了使用Python处理PDF文件的很多内容。在本教程中,我们将了解如何使用Python编程语言在PDF文件中创建交互式表单。

但在开始之前,我们还将讨论一个Python工具包,该工具包为我们提供了创建称为ReportLab工具包。

理解Python中的ReportLab工具包

PythonReportLabToolkit允许程序员创建交互式和可填充的表单。PDF标准通常由一组丰富的交互元素组成。的ReportLabToolkit不支持所有这些元素;然而,它确实涵盖了其中的大部分。在下一节中,我们将查看以下小部件:

  1. 复选框
  2. 广播
  3. 选择
  4. 列表框
  5. 文本框

控件上调用不同的方法来开发上述所有小部件canvas.acroform财产。注意,每个文档只能有一个表单。让我们来了解一下这些小部件ReportLab工具包。

了解Checkbox小部件

复选框Widget就是它的名字。它是一个小框,我们可以用它来检查表单中显示的实体。Reportlab支持复选框的不同样式的检查,因此当复选框被选中时,它可以根据我们设置的样式看起来与众不同。

现在,让我们来理解一个简单的例子来说明这些参数的行为:

例子:

输出:

使用Python创建交互式PDF表单

解释:

正如我们在上面的代码片段中所看到的,我们从的不同模块导入了不同的函数ReportLab图书馆。然后,我们设置了名称并设置了工具提示,以便与小部件的名称匹配。然后我们确定了它的位置和其他一些东西。我们可以调整复选框边框的宽度,或者关闭边框。但是,如果我们将其关闭,则复选框可能会变得不可见,因此我们可能需要设置其背景颜色fillColor如果我们那样做。我们已经设置了buttonStyle到每个复选框的独特之处。

了解Radio小部件

广播小部件类似于复选框,尽管事实上单选按钮位于组中,我们一次只能选择一个单选按钮。复选框很少限制为每个组允许一个复选框。的ReportLabToolkit没有提供将一组单选框显式分组的方法。该工具包仅提供对其进行分组的隐式方式。这句话意味着,如果我们一个接一个地创建一系列无线电,它们将被组合在一起。

现在,让我们用一个简单的例子来理解,如下所示:

例子:

输出:

使用Python创建交互式PDF表单

解释:

在上面的代码片段中,我们从控件的不同模块导入了所需的函数ReportLab工具包。然后我们定义了一个函数并创建了一个新的PDF文件。然后,我们为PDF文件定义了不同的单选按钮并保存了该文件。最后,我们调用了函数。

执行上面的代码片段后,可以观察到程序只返回三个无线电。这是因为我们需要为每个单选按钮创建两个对象,它们具有相同的名称,但具有不同的值和部分。文档没有说明其背后的原因,但我们可以假设这样做是为了支持ReportLab工具包跟踪小部件的“选定”状态。这也允许我们在选择或取消选择时更改无线电的外观。

理解Choice小部件

选择Widget基本上是一个组合框,当用户单击它时显示一个下拉框。这使用户可以从下拉列表中选择一个或多个选项fieldFlags我们已经定了。如果我们插入edit到fieldFlags,然后,用户可以在choice小部件中编辑元素。

让我们来理解下面演示使用的例子选择PDF文档中的小部件:

例子:

输出:

使用Python创建交互式PDF表单

解释:

在上面的代码片段中,我们从控件的不同模块导入了所需的函数ReportLab工具包。然后我们定义了一个函数并创建了一个新的PDF文件。然后我们创建了两个选择应用了样式略有不同的小部件并保存了文件。记住在函数中包含value参数;否则,程序将返回一个奇怪的错误,但没有说明与参数丢失相关的任何内容。最后,我们调用了函数。

了解Listbox小部件

列表框Widget有点类似于choice Widget,不同之处在于列表框被视为可滚动框,而不是组合框。我们可以用fieldFlags参数,支持用户从列表框中选择一个或多个元素。

现在,让我们考虑下面的示例,说明如何使用列表框制作互动式PDF表格的小工具:

例子:

输出:

使用Python创建交互式PDF表单

解释:

在上面的代码片段中,我们从控件的不同模块导入了所需的函数ReportLab工具包。然后我们定义了一个函数并创建了一个新的PDF文件。然后我们创建了列表框应用了样式略有不同的小部件并保存了文件。上面的示例与前面创建choice小部件的示例非常相似。这里的主要区别是外观列表框Widget和选择Widget;除此之外,这两个小部件几乎是相同的。

了解Textfield小部件

文本框是一个文本输入小部件。我们可以看到这些文本框表单中的小部件,用于填写姓名、地址等条目。的大部分参数文本框与我们在前面的小部件中观察到的相同。

让我们考虑下面的例子来理解这一点:

例子:

输出:

使用Python创建交互式PDF表单

解释:

在上面的代码片段中,我们从控件的不同模块导入了所需的函数ReportLab工具包。然后我们定义了一个函数并创建了一个新的PDF文件。然后我们创建了文本框应用了样式略有不同的小部件并保存了文件。正如我们所看到的,我们已经创建了一系列文本字段,并对它们应用了不同的设置。此外,我们还更改了几个字段的边框和背景颜色。然后我们加入了一些相当标准的。我们还利用了宽度参数以更改文本字段的宽度。


下一个话题 Python报纸模块





Youtube 视频加入我们的Youtube频道:现在加入

反馈


帮助别人,请分享

脸谱网 推特 pinterest

学习最新教程


准备


热门的技术


b .技术/马华






Baidu
map