
PDF 格式的主要优势之一是“所见即所得” (WYSIWYG) 方法。因此,PDF 格式具有高标准的渲染和查看。您的屏幕上显示的任何内容,都会以相同的方式显示在其他用户的设备上。无论用户使用哪种操作系统、屏幕分辨率或软件。因此,无论您在哪种设备上查看文档,PDF 在所有平台上都是一致的。
除了查看之外,打印 PDF 文件时还可以确保内容的保真度。一旦数据已填入文档,数据的安全性就更加重要。因此,为了确保数据的完整性,正确的人应有权访问数据。当考虑使用电子文档作为证据时,它们必须是未更改的原始版本。然后,此类电子文档或数据信息才可在法庭上接受。此外,您还可以获得大量的 PDF 表单解析器应用程序以供进一步处理。
现在考虑一种 HTML 格式,它在跨平台功能方面与 PDF 类似。但同样,它们需要在各种平台和浏览器上进行测试,以确保它们在这些平台上运行良好。不仅仅是查看,我们还需要测试打印功能。为了针对每个浏览器验证声明,需要进行大量测试。当查看 HTML 表单的数据安全方面时,安全性始终是一个问题。
PDF 表格
此技术涉及将表单字段作为覆盖层添加到表单图像的顶部。Adobe 后来于 2003 年在 PDF 1.5 和 Acrobat 6 中引入了 XFA 表单(有时称为设计表单)。Acrobat 6 及更高版本支持 XFA 表单和 AcroForms。而目前,AcroForms 在许多第三方 PDF 查看器应用程序中得到广泛支持。AcroForms 是包含表单字段的 PDF 文件。最终用户或表单作者可以将数据输入到这些字段中。在内部,AcroForms 是应用于 PDF 文档的注释或字段。可以使用表单数据格式 (FDF) 文件(包含键:值对的格式化 ASCII 文件)轻松填充它们。
Adobe XFA 表单
XFA 表单(XML 表单架构)代表了 Adobe 与流行的 FDF 和 XFDF 方法论之间的重大转变。XFA 表单始终使用 XML。由于 XML 是所有结构化文档的支柱,因此选择 XFA 表单时存在明显的缺点。XFA 表单不应与 XForms(基于 XML 的表单的 W3C 标准)混淆。Adobe 的 XFA 表单是一种封闭标准,与完全开放的 W3C XForms 标准竞争。虽然两者都是基于 XML 的,但 XForms 标准仅指定数据而不指定表单的外观。而 XFA 表单则指定表单的外观和数据。
Aspose.PDF Cloud 作为 PDF 表单解析器
表单是从最终用户那里获取输入的直观方式之一。但是,在处理大量 PDF 文档时,手动填写和操作数据可能会很麻烦。因此,为了方便我们的用户以编程方式处理 PDF 表单,我们开发了一个名为 Aspose.PDF Cloud API 的 API。它使用户能够使用 cURL 命令创建、更新和操作 PDF 表单。您还可以使用针对您选择的编程语言单独开发的 SDK。
除了用作 PDF 表单解析器之外,它还提供以下功能:
EPUB、HTML、LaTeX、MHT、PCL、DOC、DOCX、MOBIXML、PDFA、PPTX、SVG、TIFF、XLS、XLSX、XML、XPS、PS、XSLFO、PCL、BMP、EMF、GIF、JPEG、PNG 和 TIFF。
以上所有操作无需安装任何特定软件即可完成。
读取表单字段
使用更少的代码行,您可以读取有关 PDF 表单字段(PDF 表单解析器)的详细信息。因此,在读取字段时,我们可以读取文档内的所有字段,或者获得一个选项来指定带有字段的特定页码,甚至通过提供其名称来访问特定字段。此外,如果您不想使用任何特定的编程语言,则可以使用命令提示符上的 cURL 命令执行字段操作。下面给出了可以使用 PDF REST API 处理的表单字段的详细信息:
- 列表框
- 组合框
- 复选框
- 单选按钮
- 文本框
- 签名
GetDocumentTextBoxFields 方法提供从 PDF 文档读取文本字段的功能。它接受一个输入文件名参数并返回字段列表及其属性。
为了读取表单字段详细信息,请尝试使用以下 cURL 命令。
cURL 命令
// First get the Access Token
// Get Client Id and Client Secret from https://dashboard.aspose.cloud/
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d 'grant_type=client_credentials&client_id=CLIENT_ID&client_secret=CLIENT_SECRET' \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
curl -X GET "https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/textbox" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
请求 URL
https://api.aspose.cloud/v3.0/pdf/FormDataTextBox.pdf/fields/textbox
[C#.NET]
// 完整示例和数据文件请前往https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-dotnet
const string clientID = "xxxxxx-1c8e-4ea4-a948-3857547232fa";
const string clientSecret = "xxxxxx613237f013e329cdf5694cc96a";
Aspose.Pdf.Cloud.Sdk.Api.PdfApi pdfApi = new Aspose.Pdf.Cloud.Sdk.Api.PdfApi(clientSecret, clientID);
String fileName = "FormDataTextBox.pdf";
try
{
// 调用 Aspose.PDF Cloud SDK API 从 pdf 文档中获取所有字段
Aspose.Pdf.Cloud.Sdk.Model.FieldsResponse apiResponse = pdfApi.GetFields(fileName, null, null);
if (apiResponse != null && apiResponse.Status.Equals("OK"))
{
foreach (Aspose.Pdf.Cloud.Sdk.Model.Field field in apiResponse.Fields.List)
{
Console.WriteLine("Name: " + field.Name + "Type: " + field.Type);
}
Console.WriteLine("Get all Form Fields from the PDF Document, Done!");
Console.ReadKey();
}
}
catch (Exception e)
{
Console.WriteLine("Exception while calling Api: " + e.ToString());
}
上述示例中使用的示例文件可以通过 FormDataTextBox.pdf 下载。
为了从文档的某些页面读取文本字段,请尝试使用 GetPageTextBoxFields 方法,该方法需要输入文件名和 pageNumber 作为参数。
如果要求获取与特定文本字段相关的详细信息,请尝试使用 GetTextBoxField 方法,该方法接受输入文件名和 fieldName 作为参数。
创建或替换 PDF 表单字段
API 提供了强大的功能来添加或替换文档中的现有字段。方法 PostTextBoxFields 提供了向 PDF 文档添加新文本框字段的功能。为了满足此要求,我们需要提供输入文件名和要添加字段的字段数组定义属性。
为了替换现有的文本框字段,请尝试使用 PutTextBoxField 方法,该方法接受输入文档名称、要替换的字段名称以及定义要添加的新字段的属性的字段属性。
请尝试使用我们的 API,如果您遇到任何问题,请随时在 Aspose.PDF Cloud 产品支持论坛 中发布您的疑问。