|
Preflight Cookbook
Este recetario agrupa las API y demos de preflight en recetas orientadas a tareas
Utilice la referencia de API cuando necesite firmas exactas; use esta
página cuando necesite una ruta operativa para una aplicación, script de compilación o
trabajo de CI
Choose an output format
var
PDF: THotPDF;
begin
PDF := THotPDF.Create(nil);
try
PDF.SavePreflightReport('Input.pdf', 'Input.preflight.txt');
PDF.SavePreflightReport('Input.pdf', 'Input.preflight.json', '', pfJSON);
PDF.SavePreflightReport('Input.pdf', 'Input.preflight.html', '', pfHTML);
PDF.SavePreflightReport('Input.pdf', 'Input.preflight.csv', '', pfCSV);
finally
PDF.Free;
end;
end;
La salida de texto es estable a nivel de bytes y cómoda para diff. JSON es adecuado para
ingesta de pipelines. HTML es autocontenido y puede abrirse directamente o
guardarse como artefacto de CI. CSV usa columnas estables para flujos de hoja de cálculo y
reportes por lote
Validate PDF/VT documents
var
PDF: THotPDF;
Report: AnsiString;
begin
PDF := THotPDF.Create(nil);
try
if not PDF.ValidatePDFVT('Input.pdf', Report) then
WriteLn(string(Report));
finally
PDF.Free;
end;
end;
El informe PDF/VT se centra en la identificación ISO 16612-2 y la
estructura de partes del documento: XMP GTS_PDFVTVersion en texto de elemento
o forma de atributo RDF, coincidencia de fecha de modificación, marcador base PDF/X,
output intent, DPartRoot,
DPartRootNode, NodeNameList y cobertura
DPart a nivel de página
Apply a profile
var
PDF: THotPDF;
Report: AnsiString;
begin
PDF := THotPDF.Create(nil);
try
Report := PDF.CreatePreflightReportWithProfile(
'Input.pdf', '', 'project-preflight.ini', pfJSON);
finally
PDF.Free;
end;
end;
Profiles suppress named checks, warnings, or all hints. Use
ValidatePreflightProfile before applying a user-authored
profile when failing closed is more important than silently ignoring an
obsolete name.
Crear un perfil reutilizable a partir de un preset
var
PDF: THotPDF;
Profile: THPDFPreflightProfile;
begin
PDF := THotPDF.Create(nil);
try
Profile := PDF.GetBuiltInPreflightProfile('compact');
Profile.DisableWarnings := 'OpenAction,JavaScript,URIAction';
PDF.SavePreflightProfile(Profile, 'compact-no-actions.ini');
finally
PDF.Free;
end;
end;
Utilice MergePreflightProfiles para combinar un preset con
nombres específicos del proyecto. Utilice DiffPreflightProfiles para revisar
la deriva del perfil antes de actualizar un archivo de configuración compartido
Archive the report with the PDF
PDF.EmbedPreflightReportInPDF('Input.pdf', 'Input-with-report.pdf');
PDF.EmbedPreflightReportAsXMP('Input.pdf', 'Input-with-xmp-report.pdf');
La ruta de incrustación de texto agrega un bloque de comentario legible después del
marcador EOF final. La ruta XMP agrega una carga con forma RDF para flujos de archivo
que escanean paquetes de metadatos
Validate an embedded report
var
OriginalReport: AnsiString;
CurrentReport: AnsiString;
begin
if not PDF.LoadAndValidatePreflightReport(
'Input-with-report.pdf', OriginalReport, CurrentReport) then
WriteLn(string(PDF.ComparePreflightReports(OriginalReport, CurrentReport)));
end;
La ruta de validación compara la huella incrustada con una ejecución
preflight nueva sobre los bytes de origen. El helper de diff está orientado a líneas y
ajustado para informes preflight de HotPDF
Ejecutar una pasada de reparación conservadora
var
RepairsApplied: AnsiString;
begin
if PDF.RepairPDFFromPreflightReport(
'Broken.pdf', 'Broken-repaired.pdf', RepairsApplied) then
WriteLn(string(RepairsApplied));
end;
El helper de reparación se mantiene intencionalmente acotado. Maneja bytes
sobrantes después del marcador EOF final y marcadores EOF ausentes, pero no
reconstruye tablas de referencias cruzadas ni reescribe flujos
Aggregate many reports
Reports[0] := PDF.CreatePreflightReport('A.pdf');
Reports[1] := PDF.CreatePreflightReport('B.pdf');
Summary := PDF.AggregatePreflightReports(Reports);
La salida agregada lista una línea de estado por PDF y totales de
informes procesados, fallos y advertencias. Es útil cuando un pipeline
necesita un resumen aunque los informes detallados se conserven por archivo de entrada
Usar la herramienta de línea de comandos
HotPDFPreflight Input.pdf -f json -o reports
HotPDFPreflight Input.pdf --pdfvt -o reports
HotPDFPreflight C:\Archive -r --preset compact -f text -o reports --aggregate reports\Aggregate.txt
HotPDFPreflight C:\Archive -r --profile project-preflight.ini -f html -o reports
La CLI refleja el flujo de la biblioteca: entrada de un archivo o directorio
recursivo, salida text / JSON / HTML, contraseña opcional, perfil opcional,
preset integrado, progreso detallado y resumen agregado
Build a static dashboard
PreflightDashboard C:\Archive C:\Archive\preflight-dashboard
La demo de panel escribe un index.html más informes HTML
por archivo. No se requiere servidor web, por lo que la salida puede publicarse
como artefacto estático
Adapt to veraPDF-style JSON consumers
Report := PDF.CreatePreflightReport('Input.pdf');
JSON := PDF.ConvertPreflightReportToVeraPDFStyle(Report);
El adaptador conserva la semántica de HotPDF mientras transforma los fallos en una
estructura familiar de resultados de validación para herramientas que ya consumen
JSON de estilo veraPDF
Related Topics
|