PDFiumPas 文档

IsTagged 属性

此 API 条目保留标识符、签名、代码块和 PDF 术语的原始形式。
组件: TPdf  ·  单元: PDFium
指示文档是否声明了用于辅助功能的结构树

语法

property IsTagged: Boolean; // read only

说明

当文档目录引用 /StructTreeRoot 时,IsTagged 返回 True — 这就是 PDF 逻辑结构树的根 (PDF 1.7 规范第 14.7 节)。Tagged PDF 会编码文档的阅读顺序、 标题层级、表格结构、列表、图像替代文本以及其他语义标记,供屏幕阅读器、重排引擎和内容提取器依赖。PDF/UA-1 和 PDF/A-2a/3a 的合规性都要求 Tagged PDF

ActiveFalse、未声明结构树,或者结构树存在但为空时,该属性为 False 现实中的很多 PDF 并未 标记,尤其是扫描文档、 打印驱动输出以及 2010 年之前的工具导出文件。创作工具对 Tagged PDF 的支持 正在改善,但仍然不够一致

IsTagged 是一个廉价的头部检查,适合用于路由决策:对未标记文件跳过 结构树提取(它只会返回空数组),或者向操作员提示辅助功能警告。详细结构树可通过 StructureElements 获取,它会把树展开成一个扁平数组,元素为带有层级、父索引、类型名称和 角色的 TPdfStructureElement 记录

备注

示例

if not Pdf1.IsTagged then
  Log.Add('Warning: PDF is not tagged. Screen-reader output will be unreliable.');
if Pdf1.IsTagged and (Pdf1.Language = '') then
  Log.Add('Tagged PDF without /Lang - fails PDF/UA.');

另请参阅

StructureElements, Language, FormType