|
Preflight Cookbook
Tämä opaskirja ryhmittelee esitarkastuksen APIt ja demot tehtäväkeskeisiin ohjeisiin. Käytä API-viitettä, kun tarvitset tarkat allekirjoitukset; käytä tätä sivua, kun tarvitset toimivan polun sovellukselle, rakennusskriptille tai CI-tehtävälle
Valitse tulostusmuoto
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;
Tekstituloste on tavutasolla stabiili ja diff-ystävällinen. JSON soveltuu prosessiputkien käyttöön. HTML on itsenäinen ja se voidaan avata suoraan tai tallentaa CI-artefaktina. CSV käyttää pysyviä sarakkeita taulukkolaskenta- ja eräraportointityönkulkuihin
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;
PDF/VT-raportti keskittyy standardin ISO 16612-2 tunnistautumiseen ja dokumentin osarakenteeseen: XMP:n GTS_PDFVTVersion-tunniste elementtitekstissä tai RDF-attribuuttimuodossa, muokkauspäivämäärän täsmäävyys, PDF/X-perusmerkitsin, tulostustavoite, DPartRoot, DPartRootNode, NodeNameList ja sivutason DPart-kattavuus
Ota profiili käyttöön
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;
Profiilit vaimentavat nimetyt tarkistukset, varoitukset tai kaikki vihjeet. Käytä ValidatePreflightProfile-metodia ennen käyttäjän luoman profiilin käyttöönottoa, kun turvallinen sulkeutuminen epäonnistumistilanteessa on tärkeämpää kuin vanhentuneen nimen hiljainen huomiotta jättäminen
Luo uudelleenkäytettävä profiili esiasetuksesta
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;
Käytä metodia MergePreflightProfiles yhdistääksesi esiasetuksen projektikohtaisiin nimiin. Käytä metodia DiffPreflightProfiles tarkastellaksesi profiilin poikkeamaa ennen jaetun määritystiedoston päivittämistä
Arkistoi raportti PDF-tiedoston kanssa
PDF.EmbedPreflightReportInPDF('Input.pdf', 'Input-with-report.pdf');
PDF.EmbedPreflightReportAsXMP('Input.pdf', 'Input-with-xmp-report.pdf');
Tekstin upotuspolku lisää luettavan kommenttilohkon viimeisen EOF-merkin jälkeen. XMP-polku lisää RDF-muotoisen hyötykuorman arkistointityönkuluille, jotka skannaavat metatietopakkauksia
Vahvista upotettu raportti
var
OriginalReport: AnsiString;
CurrentReport: AnsiString;
begin
if not PDF.LoadAndValidatePreflightReport(
'Input-with-report.pdf', OriginalReport, CurrentReport) then
WriteLn(string(PDF.ComparePreflightReports(OriginalReport, CurrentReport)));
end;
Validointipolku vertaa upotettua sormenjälkeä uuteen esitarkastusajoon lähdetavuilla. Diff-apuri on riviorientoitunut ja viritetty HotPDF-esitarkastusraporteille
Suorita varovainen korjauskierros
var
RepairsApplied: AnsiString;
begin
if PDF.RepairPDFFromPreflightReport(
'Broken.pdf', 'Broken-repaired.pdf', RepairsApplied) then
WriteLn(string(RepairsApplied));
end;
Korjausapuri pysyy tarkoituksella rajallisena. Se käsittelee viimeisen EOF-merkin jälkeiset ylimääräiset tavut ja puuttuvat EOF-merkit, mutta ei rakenna uudelleen ristiviitetaulukoita tai kirjoita uudelleen virtoja
Aggregate many reports
Reports[0] := PDF.CreatePreflightReport('A.pdf');
Reports[1] := PDF.CreatePreflightReport('B.pdf');
Summary := PDF.AggregatePreflightReports(Reports);
Koottu tuloste luettelee yhden tilarivin PDF-tiedostoa kohti sekä käsitellyt raportit, virheet ja varoitukset yhteensä. Tämä on hyödyllistä, kun prosessiputki tarvitsee yhden yhteenvedon, vaikka yksityiskohtaiset raportit säilytetään syötetiedostokohtaisesti
Käytä komentorivityökalua
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
Komentoriviliittymä (CLI) heijastaa kirjaston työnkulkua: syötteenä yksi tiedosto tai rekursiivinen hakemisto, tulosteena teksti / JSON / HTML, valinnainen salasana, valinnainen profiili, sisäänrakennettu esiasetus, yksityiskohtainen edistyminen ja kokonaisyhteenveto
Rakenna staattinen hallintapaneeli
PreflightDashboard C:\Archive C:\Archive\preflight-dashboard
Dashboard-demo kirjoittaa index.html-tiedoston ja tiedostokohtaiset HTML-raportit. Verkkopalvelinta ei tarvita, joten tuloste voidaan julkaista staattisena artefaktina
Mukauta veraPDF-tyylisiin JSON-kuluttajiin
Report := PDF.CreatePreflightReport('Input.pdf');
JSON := PDF.ConvertPreflightReportToVeraPDFStyle(Report);
Sovitin säilyttää HotPDF-semantiikan muotoillessaan virheet tuttuun validointitulosten rakenteeseen työkaluille, jotka käyttävät jo veraPDF-tyyppistä JSON-muotoa
Related Topics
|