|
Preflight Cookbook
Ta kuharska knjiga združuje API-je in predstavitve za preflight v nalogam
usmerjene recepte. Uporabite referenco API-jev, ko potrebujete natančne podpise; uporabite to
stran, ko potrebujete delujočo pot za aplikacijo, gradbeni skript ali
opravilo CI
Izbira izhodne oblike
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;
Besedilni izhod je bajtno stabilen in prijazen do primerjav. JSON je primeren za zajem v cevovod. HTML je samozadosten in ga je mogoče odpreti neposredno ali shraniti kot artefakt CI. CSV uporablja stabilne stolpce za preglednice in poteke dela s paketnimi poročili
Preverjanje dokumentov PDF/VT
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;
Poročilo PDF/VT se osredotoča na identifikacijo ISO 16612-2 in
strukturo dokumentnih delov: XMP GTS_PDFVTVersion v obliki
elementnega besedila ali atributa RDF, ujemanje datuma spremembe, osnovni
marker PDF/X, namen izpisa, DPartRoot,
DPartRootNode, NodeNameList in pokritost
DPart na ravni strani
Uporaba profila
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;
Profili izklopijo poimenovane preglede, opozorila ali vse namige. Pred uporabo uporabniško pripravljenega profila uporabite ValidatePreflightProfile, kadar je strogo zavrnitev pomembnejša od tihega prezrtja zastarelega imena
Ustvari ponovno uporabni profil iz prednastavitve
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;
Uporabite MergePreflightProfiles za združitev prednastavitve s
projektnimi imeni. Uporabite DiffPreflightProfiles za pregled
odmika profila pred posodobitvijo skupne konfiguracijske datoteke
Arhiviranje poročila skupaj s PDF
PDF.EmbedPreflightReportInPDF('Input.pdf', 'Input-with-report.pdf');
PDF.EmbedPreflightReportAsXMP('Input.pdf', 'Input-with-xmp-report.pdf');
Pot vdelave besedila doda berljiv blok komentarja za končnim markerjem EOF. Pot XMP doda koristni tovor RDF za arhivske poteke, ki pregledujejo pakete metapodatkov
Preverjanje vdelanega poročila
var
OriginalReport: AnsiString;
CurrentReport: AnsiString;
begin
if not PDF.LoadAndValidatePreflightReport(
'Input-with-report.pdf', OriginalReport, CurrentReport) then
WriteLn(string(PDF.ComparePreflightReports(OriginalReport, CurrentReport)));
end;
Pot preverjanja primerja vdelani prstni odtis z novim zagonom preflight nad izvornimi bajti. Pomožni diff je usmerjen po vrsticah in prilagojen poročilom preflight v HotPDF
Zaženi konzervativen popravljalni prehod
var
RepairsApplied: AnsiString;
begin
if PDF.RepairPDFFromPreflightReport(
'Broken.pdf', 'Broken-repaired.pdf', RepairsApplied) then
WriteLn(string(RepairsApplied));
end;
Pomožni popravek ostaja namerno ozek. Obvladuje zadnje
bajte za končnim markerjem EOF in manjkajoče markerje EOF, vendar ne
obnavlja tabel navzkrižnih sklicev ali prepisuje tokov
Združevanje več poročil
Reports[0] := PDF.CreatePreflightReport('A.pdf');
Reports[1] := PDF.CreatePreflightReport('B.pdf');
Summary := PDF.AggregatePreflightReports(Reports);
Združeni izhod navede eno vrstico stanja na PDF in vsote za obdelana poročila, napake in opozorila. Uporaben je, kadar cevovod potrebuje en povzetek, čeprav so podrobna poročila shranjena posebej za vsako vhodno datoteko
Uporabi orodje ukazne vrstice
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
Ukazna vrstica zrcali knjižnični potek: en vhodni
file ali rekurziven vnos imenika, izhod v obliki besedila / JSON / HTML, izbirno geslo, izbirni
profil, vgrajena prednastavitev, podroben napredek in združen povzetek
Sestavi statično nadzorno ploščo
PreflightDashboard C:\Archive C:\Archive\preflight-dashboard
Predstavitev nadzorne plošče zapiše index.html in HTML poročila za vsako datoteko. Spletni strežnik ni potreben, zato je izhod mogoče objaviti kot statični artefakt
Prilagoditev porabnikom JSON v slogu veraPDF
Report := PDF.CreatePreflightReport('Input.pdf');
JSON := PDF.ConvertPreflightReportToVeraPDFStyle(Report);
Adapter ohrani semantiko HotPDF, hkrati pa napake preoblikuje v
znano strukturo rezultatov preverjanja za orodja, ki že porabljajo
JSON, podoben veraPDF
Povezane teme
|