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
| InputFileName | El archivo PDF que se validará |
|---|---|
| Password | La contraseña necesaria para abrir el archivo o una cadena vacía |
| ComplianceTests | Máscara de bits que selecciona las comprobaciones: 1 = PDF/A, 2 = PDF/UA-1, 0 = ambas |
| Options | Se pasa a las comprobaciones; 1 se detiene en el primer hallazgo de cada comprobación |
| ReportFormat | 0 = XML, 1 = JSON |
Valores devueltos
| Empty string | El archivo de entrada no existe |
|---|---|
| Report | El 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