Метод THotPDF.ComplianceFindingsToJSON
Сериализует общие замечания валидации и ремонта в детерминированный JSON для CI, аудитных хранилищ и внешних инструментов проверки соответствия
Объявление
function ComplianceFindingsToJSON(
const Findings: THPDFComplianceFindings): AnsiString;
Модуль
HPDFDoc
Модель замечания
THPDFComplianceFinding содержит следующие поля
| Поле | Назначение |
|---|---|
Profile | Идентифицирует cpfPDFUA2, cpfPDFA4 или cpfPDFX6 |
Severity | Через THPDFComplianceSeverity различает информационные замечания, предупреждения и ошибки |
RuleID | Содержит стабильный идентификатор правила с пространством имён |
Clause | Содержит ссылку на применимый стандарт и пункт |
Path | Содержит логическое расположение в графе объектов |
ObjectNumber | Содержит номер indirect-объекта или отрицательное значение, если он неизвестен |
PageIndex | Содержит индекс страницы с нуля или отрицательное значение, если он неизвестен |
Message | Содержит диагностику, удобочитаемую для человека |
RepairStatus | Через THPDFComplianceRepairStatus различает происхождение ремонта: не выполнялся, применён, не разрешён, откачен или завершился ошибкой |
RepairAction | Называет семейство ремонта, если он предпринимался |
RepairCount | Считает применённые операции, охваченные замечанием |
Контракт JSON
Идентификатор корневой схемы — hotpdf.compliance.findings.v1, замечания сохраняют детерминированный порядок входа, а каждый объект использует стабильный порядок полей
Неизвестные расположения объекта и страницы сериализуются как JSON null, а первая страница остаётся числовым значением 0
Строки экранируются по правилам JSON, управляющие символы используют стандартные escape-последовательности, а пустой массив замечаний даёт корректный документ с пустым массивом findings
Пример
var
Options: THPDFPDFA4ValidationOptions;
Findings: THPDFComplianceFindings;
JSON: AnsiString;
begin
Options := THPDFPDFA4ValidationOptions.Default;
PDF.ValidatePDFA4(Options, Findings);
JSON := PDF.ComplianceFindingsToJSON(Findings);
end;