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
当 Active 为 False、未声明结构树,或者结构树存在但为空时,该属性为 False
现实中的很多 PDF 并未 标记,尤其是扫描文档、
打印驱动输出以及 2010 年之前的工具导出文件。创作工具对 Tagged PDF 的支持
正在改善,但仍然不够一致
IsTagged 是一个廉价的头部检查,适合用于路由决策:对未标记文件跳过
结构树提取(它只会返回空数组),或者向操作员提示辅助功能警告。详细结构树可通过
StructureElements 获取,它会把树展开成一个扁平数组,元素为带有层级、父索引、类型名称和
角色的 TPdfStructureElement 记录
Language(/Lang)结合,在使用完整合规性工具验证之前先完成两个
最小可行的 PDF/UA 检查/StructTreeRoot
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.');