Informes de comprobación previa
Cumplimiento, Inspección de documentos, Automatización
Selección del perfil de lector PDF/UA
Las comprobaciones PDF/UA seleccionan la parte 2 cuando XMP identifica pdfuaid:part=2 y en caso contrario mantienen las comprobaciones de la parte 1; las comprobaciones heredadas de PDF/UA-1 descritas aquí no se dan por aplicables a la parte 2
El perfil de PDF/UA-2 implementa comprobaciones básicas de identificación, espacios de nombres, roles y estructura; los informes estructurados utilizan PDF/UA-2 e ISO 14289-2 y revelan fullCertification=false y el ámbito sin verificar
Utilice CheckFilePDFUACompliance o RunPDFUAValidationPipelineTask para forzar una parte de destino, y GetPDFUAReadValidationCoverageJSON para inspeccionar los límites de capacidades
Descripción general
PDF Library for Delphi puede ejecutar sus comprobaciones integradas de conformidad de archivos PDF/A y PDF/UA-1 sobre un PDF externo y convertir el resultado en una salida de informe reutilizable. Utilice las API de informes cuando una aplicación o un proceso de compilación necesite los mismos diagnósticos que CheckFileCompliance, pero no quiera gestionar directamente identificadores de listas de cadenas
La canalización de informes está organizada deliberadamente en 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 sin formato. CreatePreflightReportEx convierte ese mismo informe de texto en texto, JSON, HTML o CSV para que todos los formatos compartan el mismo estado de aprobado o fallido y el mismo número de incidencias
API de la biblioteca
| CheckFileCompliance | Ejecuta una comprobación de conformidad seleccionada sobre un archivo PDF y devuelve 0 si se supera o un StringListID que contiene las líneas de incidencias. |
|---|---|
| CreatePreflightReport | Ejecuta las comprobaciones PDF/A, PDF/UA-1 o ambas y devuelve un informe de texto sin formato con metadatos de cabecera, una sección por comprobación y un resumen final. |
| CreatePreflightReportEx | Devuelve el mismo informe en formato de texto (0), JSON (1), HTML (2) o CSV (3). Los valores de formato desconocidos utilizan texto. |
| SavePreflightReport | Escribe el informe de texto sin formato como UTF-8 y crea el directorio padre cuando es necesario. |
| SavePreflightReportEx | Escribe un informe de texto, JSON, HTML o CSV como UTF-8 y crea el directorio padre cuando es necesario. |
| ComparePreflightReports | Compara dos informes de texto sin formato, ignora las líneas volátiles de marca de tiempo Generated: y devuelve una diferencia compacta solo cuando cambia contenido estable. |
Contrato de formato
| Text | El 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. |
|---|---|
| JSON | Un único objeto con title, generated, input, checks, issueMode, sections y summary. Cada sección tiene un nombre, un estado y una matriz de cadenas de incidencias. |
| HTML | Un documento HTML UTF-8 independiente. El informe de texto se escapa como HTML y se muestra dentro de un bloque preformateado, por lo que su contenido es visible sin interpretarse como marcado. |
| CSV | Las filas utilizan las columnas fijas kind,section,status,code,message. Las filas meta contienen campos de cabecera, las filas check contienen el estado PASS/FAIL de la sección, las filas issue separan los códigos numéricos de incidencia de los mensajes y las filas summary contienen los totales finales. |
Selección de conformidad
Las API de informes utilizan una máscara de bits para ComplianceTests: 1 selecciona PDF/A, 2 selecciona PDF/UA-1 y 3 selecciona ambos. Si se pasa 0, también se ejecutan ambas comprobaciones. Options utiliza actualmente el bit 1 para detener cada comprobación seleccionada tras su primera incidencia; pase 0 para recopilar todas las incidencias notificadas
Demostración de línea de comandos
La demostración de consola PreflightReport para Delphi muestra el flujo de trabajo de informes sin añadir una interfaz específica de la aplicación. Puede validar un único PDF, generar una salida con formato, comparar un nuevo informe de texto con una referencia o procesar un directorio por lotes
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 notifican ninguna incidencia, 1 para errores de línea de comandos o de ejecución y 2 cuando se notifica alguna incidencia o difiere la comparación con la referencia. El modo de directorio escribe un archivo <basename>.preflight.<ext> por cada PDF y añade un archivo preflight-summary.csv con la ruta de origen, el estado de aprobado o fallido, el número de incidencias y la ruta del informe
Notas de comparación
ComparePreflightReports está definido para informes de texto sin formato. Debe recibir el informe de texto de referencia y el informe de texto recién generado, aunque la salida destinada a las personas para la misma ejecución sea JSON, HTML o CSV. El comparador normaliza las líneas Generated: porque las marcas de tiempo cambian en cada ejecución; las demás líneas estables se comparan en orden con una pequeña ventana de anticipación para que las diferencias de inserción y eliminación sean legibles
Véase también
CheckFileCompliance, CreatePreflightReport, CreatePreflightReportEx, SavePreflightReport, SavePreflightReportEx, ComparePreflightReports, GetPDFUADiagnostics