|
Preflight-kokebok
Denne kokeboken samler preflight-API-er og demoer i oppgaveorienterte oppskrifter Bruk API-referansen når du trenger nøyaktige signaturer; bruk denne siden når du trenger en praktisk arbeidsvei for en applikasjon, et byggeskript eller en CI-jobb
Velg et utdataformat
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;
Tekstutdata er byte-stabil og diff-vennlig. JSON passer for pipeline-inntak. HTML er selvstendig og kan åpnes direkte eller lagres som et CI-artefakt. CSV bruker stabile kolonner for regneark- og batchrapportflyter
Valider PDF/VT-dokumenter
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;
PDF/VT-rapporten fokuserer på ISO 16612-2-identifikasjonen og dokumentdelstrukturen: XMP GTS_PDFVTVersion i elementtekst eller RDF-attributtform, samsvar med modifikasjonsdato, PDF/X-basemarkør, output intent, DPartRoot, DPartRootNode, NodeNameList og sidenivå-DPart-dekning
Bruk en profil
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;
Profiler undertrykker navngitte kontroller, advarsler eller alle hint Bruk ValidatePreflightProfile før du bruker en brukerlaget profil når det er viktigere å feile lukket enn å ignorere et utdatert navn stille
Lag en gjenbrukbar profil fra en forhåndsinnstilling
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;
Bruk MergePreflightProfiles til å kombinere en forhåndsinnstilling med prosjektspecifikke navn Bruk DiffPreflightProfiles til å gjennomgå avvik i profilene før du oppdaterer en delt konfigurasjonsfil
Arkiver rapporten sammen med PDF-en
PDF.EmbedPreflightReportInPDF('Input.pdf', 'Input-with-report.pdf');
PDF.EmbedPreflightReportAsXMP('Input.pdf', 'Input-with-xmp-report.pdf');
Tekstinnbyggingsstien legger til en lesbar kommentarboks etter den siste EOF-markøren. XMP-stien legger til en RDF-formet last for arkivarbeidsflyter som skanner metadatapakker
Valider en innebygd rapport
var
OriginalReport: AnsiString;
CurrentReport: AnsiString;
begin
if not PDF.LoadAndValidatePreflightReport(
'Input-with-report.pdf', OriginalReport, CurrentReport) then
WriteLn(string(PDF.ComparePreflightReports(OriginalReport, CurrentReport)));
end;
Valideringsstien sammenligner det innebygde fingeravtrykket med en fersk preflight-kjøring over kildebytene. Diff-hjelperen er linjeorientert og tilpasset HotPDF-preflightrapporter
Kjør en konservativ reparasjonsrunde
var
RepairsApplied: AnsiString;
begin
if PDF.RepairPDFFromPreflightReport(
'Broken.pdf', 'Broken-repaired.pdf', RepairsApplied) then
WriteLn(string(RepairsApplied));
end;
Reparasjons-hjelperen holder seg med vilje smal. Den håndterer etterfølgende byte etter den siste EOF-markøren og manglende EOF-markører, men bygger ikke opp kryssreferansetabeller på nytt eller skriver strømmer om
Aggreger mange rapporter
Reports[0] := PDF.CreatePreflightReport('A.pdf');
Reports[1] := PDF.CreatePreflightReport('B.pdf');
Summary := PDF.AggregatePreflightReports(Reports);
Den aggregerte utdataen viser én statuslinje per PDF og totaler for behandlede rapporter, feil og advarsler. Den er nyttig når en pipeline trenger én oppsummering selv om detaljerte rapporter beholdes per innfil
Bruk kommandolinjeverktøyet
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
CLI-en speiler biblioteksarbeidsflyten: én fil eller rekursiv kataloginngang, tekst / JSON / HTML-utdata, valgfritt passord, valgfri profil, innebygd forhåndsinnstilling, detaljert fremdrift og aggregert oppsummering
Bygg et statisk dashboard
PreflightDashboard C:\Archive C:\Archive\preflight-dashboard
Dashboard-demoen skriver en index.html pluss HTML-rapporter per fil. Ingen webserver er nødvendig, så resultatet kan publiseres som et statisk artefakt
Tilpass til veraPDF-lignende JSON-forbrukere
Report := PDF.CreatePreflightReport('Input.pdf');
JSON := PDF.ConvertPreflightReportToVeraPDFStyle(Report);
Adapteren bevarer HotPDF-semantikken samtidig som den omformer feil til en kjent valideringsresultatstruktur for verktøy som allerede konsumerer veraPDF-lignende JSON
Relaterte emner
|