PDF 全能:使用 ActivePDF Toolkit 精通 PDF 文件






4.48/5 (7投票s)
在本文中,我将评测 ActivePDF 的 DocGenius™ Toolkit,这是一个功能强大的 .NET 库,用于处理 PDF 文档。
在本文中,我将评测 ActivePDF 的 DocGenius™ Toolkit,这是一个功能强大的 .NET 库,用于处理 PDF 文档。可移植文档格式 (PDF) 是一种已经存在了数十年的文档格式标准,并且作为跨平台和设备安全共享数据的途径,其受欢迎程度正在迅速增长。Toolkit 为开发人员提供了一种快速、简单的低代码方式,只需一行简单的代码即可创建、转换、修改、查看、提取和自动化 PDF 文档。它提供了数百个直观的 API,涵盖了从添加附件到生成条形码的各种场景。
下载 ActivePDF Toolkit
第一步是下载 Toolkit。
安装程序可在以下网址找到
https://www.activepdf.com/products/toolkit
安装过程很简单,会引导您完成所有必要的步骤。Toolkit 需要许可证才能激活。可以轻松地从 ActivePDF.com 获取许可证,我很快就收到了免费试用密钥的电子邮件。
如何创建 PDF 文件
我尝试的第一个场景是创建一个新的 PDF。该网站提供了大量的文档,包括您可以查看的示例:https://examples.activepdf.com/Toolkit/2018/
在 Visual Studio 2017 中,我创建了一个新的 Windows 桌面控制台应用程序。我添加了对安装目录中 `DotNetComponent` 文件夹下的 `APToolkitNET.dll` 的引用。Toolkit 默认设置为每英寸 72 像素,因此我设置了一个变量来表示一英寸。
const float INCH = 72f;
这是创建新 PDF 的代码,尺寸为 8.5" x 11"(标准的美国“信纸”尺寸,用于打印)。
// Instantiate Object APToolkitNET.Toolkit oTK = new APToolkitNET.Toolkit { // Set the PDF page Height and Width (72 = 1") OutputPageHeight = 11f * INCH, OutputPageWidth = 8.5f * INCH };
我指定了输出文件位置,并将 toolkit 的版本加载到一个变量中。我还表明我已准备好开始在文档中生成新页面(第一页)。
int intOpenOutputFile = oTK.OpenOutputFile(strPath + "new.pdf"); // Each time a new page is required call NewPage oTK.NewPage(); // Get the current version of Toolkit and save it to print on the PDF string tkVer = oTK.ToolkitVersion;
我设置了字体和字号,然后打印了两行。使用的方法允许您指定文本的生成位置。
还有一个名为 `PrintMultilineText` 的方法,该方法接受一个区域作为参数,可以为您包装文本,并根据参数进行左、右或两端对齐。第一个参数表示距离页面底部 1 英寸的边距。第二个参数是距离页面底部的距离。
oTK.SetFont("Helvetica", 24); oTK.PrintText(INCH, 10f * INCH, $"Hello! Version {tkVer}"); oTK.PrintText(INCH, 9.5f * INCH, $"Date: {DateTime.Now}");
如果没有图像,文档会显得枯燥,所以我将我的个人资料图片复制到与控制台应用程序相同的目录中,并使用此语句将图像打印到 PDF 画布上。
oTK.PrintJPEG(strPath + "IMG.jpg", INCH, 8 * INCH, 110.0f, 107.0f, true);
最后一步是关闭 PDF 文档。这将处理您的请求并将文件刷新到磁盘。
oTK.CloseOutputFile();
我编译并运行了控制台应用程序,它立即生成了一个新的 PDF 文件。以下屏幕截图显示了生成的内容。
我能够快速上手,在几分钟内使用低代码成功生成 PDF 文档。
如何修改和处理现有 PDF
我处理的下一个任务是处理现有的 PDF。我选择从我刚刚创建的新 PDF 开始,并做一些简单的事情:添加一些元数据。
PDF 文档包含有关标题、作者和关键字的信息。我创建了一个新的控制台应用程序,这次不是创建新的 PDF 文档,而是打开了旧文档。
APToolkitNET.Toolkit oTK = new APToolkitNET.Toolkit(); oTK.OpenOutputFile(strPath + "copy.pdf"); oTK.OpenInputFile(strPath + "new.pdf");
接下来,我使用 API 添加了一些简单的元数据。
oTK.SetInfo("My First PDF", "Testing", "Jeremy Likness", "test, pdf, sample");
最后,我将模板从输入文件复制到输出文件,并关闭输出文件以生成新 PDF。
oTK.CopyForm(0, 0); oTK.CloseOutputFile();
我运行了控制台应用程序,它生成了一个新的 `copy.pdf` 文件。
我打开了 PDF 以验证其外观与原始文件完全相同。唯一的区别在打开属性对话框时显而易见。请注意,元数据现在已填充。
我只花了五分钟就构建了新应用程序并修改了现有的 PDF。
如何操作表单字段
大多数 PDF 文档和技术都支持表单字段,具体取决于您使用的技术提供商。一个常见的业务场景涉及通过预填充某些字段来处理 PDF 表单。
例如,一家保险公司可能希望生成已预先填写客户数据的索赔表格,使其更容易填写。我选择了一个公开可用的表格,称为“W-9”,用于向 IRS 报告收入。您可以在此处下载最新的 W-9 表格:https://www.irs.gov/pub/irs-pdf/fw9.pdf
第一步是加载表单并遍历表单字段。与前面的示例一样,我只是打开了下载的表单 `fw9.pdf`,创建了一个名为 `fw9_filled.pdf` 的输出文件,这将生成一个副本而不修改原始 PDF。遍历表单字段的代码如下所示。
var inputs = oTK.GetInputFields(); foreach(DictionaryEntry input in inputs) { Console.WriteLine($"Found: {input.Key}"); }
我很高兴我首先运行了这个,因为表单字段名称并不都直观,找到我想要的字段需要一些猜测。
下一个目标是编程输入我的姓名和地址。在这个例子中,我使用了我的名字和 ActivePDF 的地址。
代码表明 Toolkit 应格式化字段并为其分配唯一名称,以避免在输出文档中发生冲突。当将多个 PDF 合并到一个 PDF 中以避免冲突时,这很有用。然后,我通过传递字段名称、值和一个指示字段类型的标志来设置字段。
oTK.DoFormFormatting = 1; oTK.FormNumbering = 1; oTK.SetFormFieldData("topmostSubform[0].Page1[0].f1_1[0]", "Jeremy Likness", 1); oTK.SetFormFieldData("topmostSubform[0].Page1[0].Address[0].f1_7[0]", "28202 Cabot Rd Ste 155", 1); oTK.SetFormFieldData("topmostSubform[0].Page1[0].Address[0].f1_8[0]", "Laguna Niguel, CA 92677", 1);
我运行了添加了表单代码的控制台应用程序。
如您所见,我成功地以编程方式填写了表单。
如何处理 PDF 安全屏障
W-9 表格包含社会安全号码和个人地址等敏感信息,因此保护文档非常重要。加密输出 PDF 的过程很简单。在打开任何文件之前,我将此行添加到了现有的控制台应用程序中。
oTK.SetPDFSecurity(5, "secretuser", "secretowner", true, false, true, false);
需要注意的是,评估版本会自动在密码前加上“DEMO”,使其成为“DEMOsecretuser”和“DEMOsecretowner”。我还清除了方法末尾的安全设置。
oTK.ClearPDFSecurity();
重新运行应用程序会加密文档,并在我尝试打开它时用密码锁定它。
输入用户密码后,文档成功打开。我还设置了阻止修改文档或填写表单字段的标志。
当新文档打开时,即使我以编程方式更新的表单字段已预填充,也没有可用的输入来进行任何进一步的修改。这可以防止文件被未经授权的篡改或来自其他用户的进一步未经请求的修改。ActivePDF .NET PDF Toolkit 产品使用总结
ActivePDF 的 Toolkit 提供了丰富的功能,用于创建、合并和处理 PDF 文档。本文未涵盖的功能包括页码、版本控制、绘图、数字水印、设置页码标签等。
API 直观易懂,结合文档和示例,使其极其易于使用。您可以在此处找到示例代码。
https://examples.activepdf.com/Toolkit/2018/
今天就开始您的第一个 .NET 项目,并在您的应用程序中使用 Toolkit 来处理 PDF 文档,可从 ActivePDF 获取免费试用。