THotPDF.ValidatePDFUA2Structure Method
Виконує обмежену перевірку структури PDF/UA-2 щодо виробника або завантаженого графа об'єктів і повертає стабільні структуровані діагностичні повідомлення без зміни документа
Оголошення
function ValidatePDFUA2Structure(
const Options: THPDFUA2ValidationOptions;
out Issues: THPDFUA2ValidationIssues): boolean; overload;
function ValidatePDFUA2Structure(
const Options: THPDFUA2ValidationOptions;
out Findings: THPDFComplianceFindings): boolean; overload;
Модуль
HPDFDoc
Параметри перевірки
Використовуйте THPDFUA2ValidationOptions.Default для суворої перевірки генерації або налаштуйте окремі семантичні політики для вхідних діагностик
| Field | Purpose |
|---|---|
HeadingPolicy | Ігнорує, діагностує або відхиляє пропущені рівні заголовків |
AllowDocumentFragmentHeadingStarts | Скидає контекст заголовків усередині DocumentFragment |
CheckDocumentSemantics | Перевіряє мову каталогу, метадані, показану назву, необов'язковий вміст і вбудовані файли |
CheckHumanReadableStrings | Відхиляє символи приватного використання Unicode у зрозумілих людині рядках |
CheckAnnotationSemantics | Перевіряє порядок вкладок сторінки, належність анотацій, ролі, прапорці, описи та потоки зовнішніх виглядів |
CheckFormSemantics | Перевіряє поля AcroForm, віджети, мітки, дії, параметри та збагачені значення |
CheckNavigationSemantics | Перевіряє призначення структури, контури та вкладені числові дерева міток сторінок |
RequireListLabels | Вимагає один Lbl для кожного нумерованого елемента списку |
RequireExplicitTableHeaderAssociations | Повідомляє про комірки даних, які залежать лише від визначення області |
CheckListSemantics | Перевіряє нумерацію, ланцюжки продовження, підписи, мітки, тіла та пряме розміщення реального вмісту |
CheckTableSemantics | Перевіряє обмежену геометрію сітки, групи рядків, проміжки, області та локальні для таблиці зв'язки заголовків |
CheckRubyWarichuSequences | Перевіряє точні послідовності прямих нащадків, потрібні для Ruby і Warichu |
CheckPronunciationHints | Перевіряє типи записів вимови та непрямі вбудовані словники PLS |
RequireStructureAssociatedFiles | Вимагає, щоб кожен супутній файл каталогу був доступний зі структури |
RequireFormulaTextAlternative | Вимагає Alt, ActualText або пов'язане MathML для формул |
MaxObjects | Обмежує сканування непрямих об'єктів і за замовчуванням становить 1 000 000 об'єктів |
MaxIssues | Обмежує збережені діагностики та за замовчуванням становить 256 діагностик |
Повернене значення
Повертає True, лише коли не залишається жодної діагностики uisError
Діагностика
THPDFUA2IssueSeverity розрізняє попередження та помилки, тоді як кожен THPDFUA2ValidationIssue несе стабільний код із простором імен, відповідний пункт, шлях до об'єкта, номер об'єкта, індекс сторінки з нуля, коли відомий, і зрозуміле людині повідомлення в масиві THPDFUA2ValidationIssues
- Перевірка ніколи не створює відсутній
StructTreeRootабо словник простору імен - Словники ролей, що враховують простір імен, розпізнаються транзитивно з виявленням циклів і глибини
- Метадані документа, зрозумілі людині рядки, необов'язковий вміст, структурні елементи, зворотні посилання на батьків, атрибути, анотації, форми, навігація, супутні файли, заголовки, списки, таблиці, Ruby, Warichu, підказки вимови, формули та MathML перевіряються за один обмежений прохід
- Належність завантажених анотацій розпізнається з фізичного ParentTree та підтримує скалярні або масивні записи
Kбез покладання на стан виробника - Локальна навігація вимагає призначень структури, застосовує
SDперед сумісним резервнимDі перевіряє вкладені числові дерева міток сторінок - Властивості XMP розпізнаються за URI простору імен, щоб дійсні альтернативні префікси залишалися сумісними
- Діагностики таблиць розрізняють недійсні проміжки, перетини комірок, неправильні рядки та групи рядків, міжтабличні ідентифікатори, дубльовані або циклічні посилання на заголовки та відсутні алгоритмічні зв'язки
- Діагностики списків розрізняють недійсну нумерацію, незагорнутий вміст, структуру мітки та тіла, впорядковані посилання продовження на тому самому рівні та цикли продовження
- Розширена геометрія таблиць поділяє межу
MaxObjectsі завершується закрито зua2.table.limit.cells ua2.limit.objectsзавершується закрито перед скануванням надто великого графа
Машинозчитувані висновки
Перевантаження THPDFComplianceFindings зіставляє той самий обмежений прохід перевірки у спільну модель відповідності, не змінюючи порядок перевірки та не змінюючи граф
Кожен висновок визначає PDF/UA-2, серйозність, ID правила, стандартний пункт, шлях, номер об'єкта, індекс сторінки, повідомлення та стан ремонту crsNotAttempted