|
Preflight Cookbook
Tento cookbook zoskupuje preflight API a ukážky do úlohovo orientovaných
receptov Na presné signatúry použite referenciu API; túto
stránku použite vtedy, keď potrebujete funkčnú cestu pre aplikáciu, build script alebo
CI úlohu
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;
Textový výstup je byte-stabilný a vhodný na porovnanie zmien JSON sa hodí na
ingestovanie do pipeline HTML je samostatný a možno ho otvoriť priamo alebo
uložiť ako CI artefakt CSV používa stabilné stĺpce pre tabuľkové spracovanie a
dávkové reporty
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;
Správa PDF/VT sa zameriava na identifikáciu podľa ISO 16612-2 a
štruktúru častí dokumentu: XMP GTS_PDFVTVersion v element
texte alebo vo forme RDF atribútu, zhodu dátumu úpravy, základný
marker PDF/X, output intent, DPartRoot,
DPartRootNode, NodeNameList a pokrytie
DPart na úrovni stránky
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;
Profily potláčajú pomenované kontroly, varovania alebo všetky náznaky Použite
ValidatePreflightProfile pred použitím používateľom vytvoreného
profilu vtedy, keď je dôležitejšie zlyhať uzavreto než potichu ignorovať
zastaraný názov
Vytvorte znovupoužiteľný profil z predvoľby
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;
Použite MergePreflightProfiles na spojenie predvoľby s
názvami špecifickými pre projekt Použite DiffPreflightProfiles na kontrolu
odchýlok profilu pred aktualizáciou zdieľaného konfiguračného súboru
Archive the report with the PDF
PDF.EmbedPreflightReportInPDF('Input.pdf', 'Input-with-report.pdf');
PDF.EmbedPreflightReportAsXMP('Input.pdf', 'Input-with-xmp-report.pdf');
Cesta s vložením textu pridá čitateľný blok komentárov za
posledný EOF marker Cesta XMP pridá payload v tvare RDF pre archivačné
workflow, ktoré prehľadávajú metadata pakety
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;
Validačná cesta porovnáva vložený odtlačok s novým
preflight behom nad zdrojovými bajtmi Pomocník diff je orientovaný na riadky a
je ladený pre preflight reporty HotPDF
Spustite konzervatívnu opravovaciu pasáž
var
RepairsApplied: AnsiString;
begin
if PDF.RepairPDFFromPreflightReport(
'Broken.pdf', 'Broken-repaired.pdf', RepairsApplied) then
WriteLn(string(RepairsApplied));
end;
Pomocník opravy zámerne zostáva úzky Spracúva
trailing bajty za posledným EOF markerom a chýbajúce EOF markery, ale
neobnovuje cross-reference tabuľky ani neprepisuje prúdy
Aggregate many reports
Reports[0] := PDF.CreatePreflightReport('A.pdf');
Reports[1] := PDF.CreatePreflightReport('B.pdf');
Summary := PDF.AggregatePreflightReports(Reports);
Agregovaný výstup uvádza jeden stavový riadok na každé PDF a súčty za
spracované reporty, chyby a varovania Hodí sa vtedy, keď pipeline
potrebuje jedno zhrnutie, hoci podrobné reporty sa uchovávajú po jednotlivých vstupných súboroch
Použite nástroj príkazového riadka
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 kopíruje workflow knižnice: jeden súbor alebo rekurzívny
vstup z adresára, textový / JSON / HTML výstup, voliteľné heslo, voliteľný
profil, zabudovanú predvoľbu, podrobný priebeh a agregované zhrnutie
Build a static dashboard
PreflightDashboard C:\Archive C:\Archive\preflight-dashboard
Ukážka dashboardu zapisuje index.html plus HTML reporty
pre jednotlivé súbory Webový server netreba, takže výstup možno publikovať
ako statický artefakt
Adapt to veraPDF-style JSON consumers
Report := PDF.CreatePreflightReport('Input.pdf');
JSON := PDF.ConvertPreflightReportToVeraPDFStyle(Report);
Adaptér zachováva sémantiku HotPDF a zároveň premieňa zlyhania na
známy štruktúrovaný výsledok validácie pre nástroje, ktoré už spracúvajú
JSON v štýle veraPDF
Related Topics
|