Документация PDFiumPas

IsTagged Свойство

Эта запись API сохраняет идентификаторы, сигнатуры, блоки кода и термины PDF в исходном виде.
Компонент: TPdf  ·  Модуль: PDFium
Указывает, объявляет ли документ дерево структуры для доступности

Синтаксис

property IsTagged: Boolean; // read only

Описание

IsTagged возвращает True, когда каталог документа ссылается на /StructTreeRoot — корень логического дерева структуры PDF (раздел 14.7 спецификации PDF 1.7). Tagged PDF кодируют порядок чтения документа, уровни заголовков, структуру таблиц, списки, alt-text на изображениях и другую семантическую разметку, на которую опираются screen readers, движки reflow и content extractors. Для соответствия PDF/UA-1 и PDF/A-2a/3a нужен tagged PDF

Свойство равно False, когда Active равно False, когда не объявлено дерево структуры или когда дерево присутствует, но пусто. Многие PDF в реальном мире не tagged — особенно scanned documents, output от print-driver и exports from tools до 2010 года. Поддержка tagged PDF в authoring tools улучшается, но все еще неравномерна

IsTagged — это дешевый header check, подходящий для routing decisions: пропускайте извлечение дерева структуры для untagged files (оно просто вернет пустые массивы) или показывайте оператору предупреждение о доступности. Подробное дерево доступно через 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