function GenerateTaggedLayout(Layout: TPdfLayoutDocument; out Plan: TPdfLayoutPlan; const Language: string = 'en-US'): Boolean;
测量并输出新的布局文档,为语义页面对象分配连续的 MCID,将装饰内容标记为 Artifact,构建结构层次,并将完成的 Tagged PDF 重新加载到同一 TPdf 中
目标必须处于非活动状态或包含零页,以便每个非 Artifact 对象都被生成的语义计划覆盖
该方法先加载 PDFium,再检查 marked-content 能力,因此可直接作为新 TPdf 实例的首次原生操作,无需预先调用 CreateDocument
AddText 默认为 plsrParagraph,而页眉、页脚、横线、图像、页面 XObject 和缓存节点默认为 plsrArtifact
调用 SetLastItemSemantics 分配标题、节、分区、图形、图题、列表角色、表格角色、替代文本、实际文本、语言、ID、表格范围、跨度或表头 ID
使用 AddSemanticNode 处理非可视的列表和表格容器,然后通过 ElementID 和 ParentID 连接后代
AddLink 添加测量的 URI 文本和一个 Link 注释
生成的注释在必要时被转换为间接对象,接收 StructParent 键,并通过 OBJR 和 ParentTree 条目与其 Link 结构元素关联
测量阶段拒绝重复 ID、未解析的父节点、循环、无效的列表或表格包含、没有替代或实际文本的图形、无效的跨度和范围,以及未解析的表头 ID
生成阶段拒绝加密输出、现有结构树、页数或对象数不匹配、重复 MCID、不完整的注释映射,以及配置的对象预算超限
除了普通布局指标外,Plan 还包含语义元素、父索引、MCID、链接注释索引、标记内容计数和 Artifact 计数
完成的文档携带 Document 结构元素、ParentTree、存在 ID 时的 IDTree、MarkInfo、文档语言、页面 StructParents,以及针对带注释页面的基于结构的 Tab 顺序
TPdfLayoutTableCell.AddTextRun 将混合文本样式保留为可提取的原生文本;SetImage 在原表格单元格下输出带替代文本的 Figure
AllowRowSpanContinuation=True 时,一个 TH 或 TD 通过页面专属 MCR 条目跨越所有实际页面片段,保留 RowSpan、ColumnSpan 和表头关系
小计行仍是正文行,续排标签标记为 Artifact;约束和预算见 FPdfLayout