使用 C# 创建带标签的 PDF
创建带标签的 PDF 意味着向文档添加(或创建)某些元素,以使文档能够根据 PDF/UA 要求进行验证。这些元素通常称为结构元素。
以下代码片段也适用于 Aspose.PDF.Drawing 库。
创建带标签的 PDF(简单场景)
为了在带标签的 PDF 文档中创建结构元素,Aspose.PDF 提供了使用 ITaggedContent 接口创建结构元素的方法。以下代码片段展示了如何创建包含 2 个元素的带标签 PDF:标题和段落。
创建后,我们将得到以下文档:

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

样式文本结构
为了在带标签的 PDF 文档中样式化文本结构,Aspose.PDF 提供了 Font、FontSize、FontStyle 和 ForegroundColor 属性的 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,其中包含页面标题和嵌套子列表。