CreateValidationReport

Compliance

Descripción

Genera un informe estructurado de validación PDF/A y PDF/UA-1 en XML o JSON, con la cláusula ISO y estadísticas adjuntas a cada hallazgo

Sintaxis

Delphi

Function TPDFlib.CreateValidationReport(Const InputFileName, Password: WideString; ComplianceTests, Options, ReportFormat: Integer): WideString;

Parámetros

InputFileNameEl archivo PDF que se validará
PasswordLa contraseña necesaria para abrir el archivo o una cadena vacía
ComplianceTestsMáscara de bits que selecciona las comprobaciones: 1 = PDF/A, 2 = PDF/UA-1, 0 = ambas
OptionsSe pasa a las comprobaciones; 1 se detiene en el primer hallazgo de cada comprobación
ReportFormat0 = XML, 1 = JSON

Valores devueltos

Empty stringEl archivo de entrada no existe
ReportEl documento de informe completo

Observaciones

Cuando se seleccionan varios estándares, el archivo se analiza una vez y ambas auditorías comparten el mismo lector, estado de seguridad, grafo de objetos del documento y caché diferida de objetos

Cada hallazgo incluye el id de regla, la norma propietaria de la regla (ISO 19005-1 o ISO 14289-1), un nombre breve de regla legible por máquina, la cláusula ISO que aplica la regla, una gravedad y el número de objetos afectados. Cada elemento de comprobación termina con su propio resultado y recuento de incidencias, y el informe acaba con un resumen que incluye el veredicto del documento, el recuento total de incidencias y el número de comprobaciones aprobadas y fallidas

Una norma que no se solicitó se informa como not-checked en vez de como una comprobación aprobada, por lo que una ejecución que cubrió solo una norma no puede confundirse con un estado de salud limpio

Esto difiere de CreatePreflightReportEx, que primero genera un informe para personas y luego convierte ese texto en JSON, HTML o CSV El informe de validación se arma a partir de la salida de comprobación sin procesar, de modo que un proceso de compilación puede controlar una regla o cláusula ISO sin buscar subcadenas en una oración

Ejemplo

Report:= PDF.CreateValidationReport('invoice.pdf', '', 0, 0, 1);
if Pos('"result": "failed"', Report)> 0 then
  ShowMessage('the file did not pass validation');

Véase también

CreateValidationPipelineReport, SaveValidationReport, CheckFileCompliance, CreatePreflightReport, CreatePreflightReportEx