当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 通过自动化脚本创建 PDF 表单填写器

作者:精品下载站 日期:2024-12-14 12:40:05 浏览:16 分类:玩电脑

通过自动化脚本创建 PDF 表单填写器


Acrobat PDF 文件是众所周知难以自动化的格式之一。但是,使用免费脚本,您可以创建一个方便的 PDF 表单填充程序,您将在本文中了解它!

如果您曾经需要手动编辑 PDF 表单并填写字段,那么它很快就会变得非常痛苦。 PDF 文件不是纯文本,需要特定的软件来读取(和编辑)它们。

在自动脚本中填写 PDF 表单字段的一种方法是使用 .NET Framework。但要做到这一点,您需要成为一名软件开发人员。幸运的是,有一个名为 iTextSharp 的 .NET 库可以提供帮助。

先决条件

为了使您在本文中收到的说明发挥作用,请确保您拥有:

  • 当前的 Windows 电脑(Windows 7 或 Windows 10 均可)
  • 初学者了解如何使用 PowerShell 脚本语言
  • 包含要填写的字段的 PDF 字段

使用 PowerShell 模块编辑 PDF 表单

由于填写 PDF 表单对于非程序员来说并不是一件容易的事,因此我创建了一个名为 PDFForm 的 PowerShell 模块。该模块在幕后使用 .NET 库,使使用它变得更加容易。

如果您不知道如何导入模块,请查看本指南。

下载并安装PDF工具

第一步是在您的计算机上安装 PDFForm 模块。要做到这一点:

  1. 复制 PDFForm PowerShell 模块的全部内容,将其保存到文本文件并调用该文本文件PDFForm.psm1。
  2. C:\Program Files\Windows PowerShell\Modules 文件夹中创建一个名为 PDFForm 的文件夹。
  3. PDFForm.psm1 文件移动到刚刚创建的 PDFForm 文件夹中。

此时,PowerShell 模块应该在您的 PowerShell 控制台中可用。要进行验证,请打开 PowerShell 并运行 Import-Module -Name PDFForm。您应该不会收到任何错误。如果您确实收到错误,则说明有问题。

查找 PDF 字段名称

导入 PDFForm 模块并准备好包含字段的 PDF 文件后,您需要知道字段名称。要查找这些字段名称,请运行 Get-PdfFieldName 函数。提供 PDF 文件的路径和 iTextSharp DLL 文件的路径,如下所示。

Get-PdfFieldNames -FilePath "C:\Vendor-Setup-Form.pdf" -ITextLibraryPath 'C:\users\Adam\dir\itextsharp.dll'

[玩转系统] 通过自动化脚本创建 PDF 表单填写器

iTextLibrary DLL 的路径不一定是必需的,但如果 iTextLibrary 的自动下载在 PDFForm 模块中不起作用,则需要使用此路径。

在 PDF 表单字段中归档

您可以在上面看到 PDF 表单示例有相当多的可用字段。现在让我们填写其中的几个。使用 Save-PdfField 函数执行此操作。指定以下参数:

  • Field - 这是每个字段名称和值的哈希表。
  • InputPdfFilePath - 这是指向 PDF 文件的文件路径
  • OutputPdfFilePath - 指定创建填写表单的 PDF 的位置
$parameters = @{
    Fields = @{'Name' = 'test123';'Bank Name' = 'some bank'}
    InputPdfFilePath = "C:\Vendor-Setup-Form.pdf"
    ITextSharpLibrary = 'C:\users\adam\dir\itextsharp.dll'
    OutputPdfFilePath = 'C:\Users\Adam\test4.pdf'
}
PS> Save-PdfField @parameters

现在提取保存到 OutputPdfFilePath 的 PDF 文件,您应该看到我们的 PDF 表单填充程序已填充新 PDF 中的所有字段。

某些 PDF 文件包含 PDFForm 支持的文本框以外的字段。不幸的是,目前不支持其他字段。但是,PDFForm 是开源的,因此如果您扩展其功能,请为该项目做出贡献并在 Github 上提交拉取请求,以使其对每个人都更好!

查看新的 PDF 并检查它是否填充了您需要的所有字段。此时,如果不再需要原始 PDF,可以手动将其删除。

概括

下次您需要填写一堆 Web 表单时,请使用 PDFForm 模块。它不仅可以节省您的时间,还可以防止 IT 世界中最常见的问题原因;人为错误。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯