Informes de comprobación previa

Cumplimiento, Inspección de documentos, Automatización

Descripción general

PDFlibPas puede ejecutar sus comprobaciones integradas de conformidad PDF/A y PDF/UA-1 sobre un PDF externo y convertir el resultado en salida de informe reutilizable. Use las API de informes cuando una aplicación o una canalización de compilación necesite los mismos diagnósticos que CheckFileCompliance, pero no quiera administrar directamente identificadores de listas de cadenas

La canalización de informes está organizada por capas. CheckFileCompliance sigue siendo la API de bajo nivel que devuelve identificadores de listas de incidencias. CreatePreflightReport da formato a las comprobaciones seleccionadas en un cuerpo estable de texto plano. CreatePreflightReportEx convierte ese mismo informe de texto a texto, JSON, HTML o CSV, de modo que todos los formatos compartan el mismo estado de aprobado/rechazado y el mismo conteo de incidencias

API de la biblioteca

CheckFileComplianceEjecuta una comprobación de cumplimiento seleccionada contra un archivo PDF y devuelve 0 si aprueba o un StringListID con las líneas de incidencia
CreatePreflightReportEjecuta comprobaciones PDF/A, PDF/UA-1 o ambas y devuelve un informe de texto plano con metadatos de encabezado, una sección por comprobación y un resumen final
CreatePreflightReportExDevuelve el mismo informe en formato texto (0), JSON (1), HTML (2) o CSV (3). Los valores de formato desconocidos vuelven a texto
SavePreflightReportEscribe el informe de texto plano como UTF-8 y crea el directorio principal cuando sea necesario
SavePreflightReportExEscribe un informe de texto, JSON, HTML o CSV como UTF-8 y crea el directorio principal cuando sea necesario
ComparePreflightReportsCompara dos informes de texto plano, ignora las líneas de marca de tiempo Generated: que cambian en cada ejecución y devuelve un diff compacto solo cuando cambió contenido estable

Formato

TextEl cuerpo canónico del informe. Contiene Generated, Input, Checks, Issue mode, una sección por cada comprobación seleccionada y un bloque Summary con Total issues y Result
JSONUn único objeto con title, generated, input, checks, issueMode, sections y summary. Cada sección tiene nombre, estado y un arreglo de cadenas de incidencias
HTMLUn documento HTML independiente en UTF-8. El informe de texto se escapa para HTML y se muestra dentro de un bloque preformateado, de modo que el contenido se vea sin interpretarse como marcado
CSVLas filas usan las columnas fijas kind,section,status,code,message. Las filas meta llevan campos de encabezado, las filas check llevan el estado PASS/FAIL de cada sección, las filas issue separan códigos numéricos de los mensajes y las filas summary llevan los totales finales

Selección de cumplimiento

Las API de informe usan una máscara de bits para ComplianceTests: 1 selecciona PDF/A, 2 selecciona PDF/UA-1 y 3 selecciona ambos. Pasar 0 también ejecuta ambas comprobaciones. Options usa actualmente el bit 1 para detener cada comprobación seleccionada después de su primera incidencia; pase 0 para recopilar todas las incidencias informadas

Demostración de línea de comandos

La demo de consola PreflightReport de Delphi muestra el flujo de informes sin añadir una interfaz específica de la aplicación. Puede validar un único PDF, generar salida con formato, comparar un informe de texto nuevo contra una referencia o procesar por lotes un directorio

PreflightReport.exe --input "C:\PDFs\invoice.pdf" --output "C:\Reports\invoice.preflight.txt"
PreflightReport.exe --input "C:\PDFs\invoice.pdf" --output "C:\Reports\invoice.preflight.json" --json
PreflightReport.exe --input "C:\PDFs\invoice.pdf" --output "C:\Reports\invoice.preflight.csv" --format csv
PreflightReport.exe --input "C:\PDFs\invoice.pdf" --output "C:\Reports\invoice.preflight.txt" --compare "C:\Baselines\invoice.preflight.txt"
PreflightReport.exe --input-dir "C:\PDFs" --output-dir "C:\Reports" --recursive --format html

El modo de archivo único devuelve el código de salida 0 cuando las comprobaciones seleccionadas no informan incidencias, 1 para errores de línea de comandos o de tiempo de ejecución, y 2 cuando se informa cualquier incidencia o la comparación con la referencia difiere. El modo de directorio escribe un archivo <basename>.preflight.<ext> por cada PDF y agrega un archivo preflight-summary.csv con ruta de origen, estado de aprobado/rechazado, conteo de incidencias y ruta del informe

Notas de comparación

ComparePreflightReports está definido para informes de texto plano. Debe recibir el informe de texto de referencia y el informe de texto recién generado, incluso cuando la salida visible para ese mismo análisis sea JSON, HTML o CSV. El comparador normaliza las líneas Generated: porque las marcas de tiempo cambian en cada ejecución; todas las demás líneas estables se comparan en orden con una pequeña ventana de anticipación para mantener legibles las diferencias de inserción y eliminación

Consulta también

CheckFileCompliance, CreatePreflightReport, CreatePreflightReportEx, SavePreflightReport, SavePreflightReportEx, ComparePreflightReports, GetPDFUADiagnostics