使用 C# 创建带标签的 PDF

创建带标签的 PDF 意味着向文档添加(或创建)某些元素,以使文档能够根据 PDF/UA 要求进行验证。这些元素通常称为结构元素。

以下代码片段也适用于 Aspose.PDF.Drawing 库。

创建带标签的 PDF(简单场景)

为了在带标签的 PDF 文档中创建结构元素,Aspose.PDF 提供了使用 ITaggedContent 接口创建结构元素的方法。以下代码片段展示了如何创建包含 2 个元素的带标签 PDF:标题和段落。

创建后,我们将得到以下文档:

带有 2 个元素的带标签 PDF 文档 - 标题和段落

创建带标签的 PDF 及嵌套元素(创建结构元素树)

在某些情况下,我们需要创建更复杂的结构,例如在段落中放置引号。 为了创建结构元素树,我们应该使用 AppendChild 方法。 以下代码片段展示了如何创建带标签 PDF 文档的结构元素树:

创建后,我们将得到以下文档: 带有嵌套元素的带标签 PDF 文档 - span 和引号

样式文本结构

为了在带标签的 PDF 文档中样式化文本结构,Aspose.PDF 提供了 FontFontSizeFontStyleForegroundColor 属性的 StructureTextState 类。以下代码片段展示了如何在带标签的 PDF 文档中样式化文本结构:

说明结构元素

为了在带标签的 PDF 文档中说明结构元素,Aspose.PDF 提供了 IllustrationElement 类。以下代码片段展示了如何在带标签的 PDF 文档中说明结构元素:

验证带标签的 PDF

Aspose.PDF for .NET 提供了验证 PDF/UA 带标签 PDF 文档的能力。PDF/UA 标准的验证支持:

  • 检查 XObjects。
  • 检查操作。
  • 检查可选内容。
  • 检查嵌入文件。
  • 检查 Acroform 字段(验证自然语言、替代名称和数字签名)。
  • 检查 XFA 表单字段。
  • 检查安全设置。
  • 检查导航。
  • 检查注释。

以下代码片段展示了如何验证带标签的 PDF 文档。相应的问题将显示在 XML 日志报告中。

调整文本结构的位置

以下代码片段展示了如何调整带标签 PDF 文档中文本结构的位置:

使用 PDF/UA-1 转换自动创建带标签的 PDF

Aspose.PDF 在将文档转换为 PDF/UA-1 时启用基本逻辑结构标记的自动生成。用户可以手动改进此基本逻辑结构,提供有关文档内容的额外见解。

要生成逻辑文档结构,请创建 Aspose.Pdf.AutoTaggingSettings 类的实例,将其 AutoTaggingSettings.EnableAutoTagging 属性设置为 true,并将其分配给 PdfFormatConversionOptions.AutoTaggingSettings 属性。

创建带表单字段的带标签 PDF

您可以在 PDF 文档中标记交互式表单字段,以确保它们包含在逻辑结构树中以便于访问(PDF/UA)。下面的代码片段演示了如何创建一个表单字段,将其注册到 AcroForm,并将其与结构树中的 /Form 结构元素关联。

创建带有目录(TOC)页面的带标签 PDF

生成带有可访问目录(TOC)页面的带标签 PDF 文档。

生成一个带有可访问目录页面的带标签 PDF,其中包含页面标题和嵌套子列表。