|
Preflight-kokbok
Den här kokboken grupperar preflight-API:er och demos i
uppgiftsorienterade recept. Använd API-referensen när du behöver exakta
signaturer; använd den här sidan när du behöver en fungerande väg för
ett program, ett byggskript eller ett CI-jobb.
Välj ett 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;
Textutdata är byte-stabila och diff-vänliga. JSON passar för
pipeline-intag. HTML är fristående och kan öppnas direkt eller sparas
som en CI-artefakt. CSV använder stabila kolumner för kalkylblad och
batchrapporteringsflöden.
Validera PDF/VT-dokument
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 fokuserar på ISO 16612-2-identifiering och
dokumentdelsstruktur: XMP GTS_PDFVTVersion i elementtext
eller RDF-attributform, matchning av ändringsdatum, PDF/X-basmarkör,
output intent, DPartRoot, DPartRootNode,
NodeNameList och täckning för DPart på
sidnivå.
Tillämpa 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 undertrycker namngivna kontroller, varningar eller alla tips;
Använd ValidatePreflightProfile innan du tillämpar en
användarskriven profil när ett tydligt stopp är viktigare än att tyst
ignorera ett föråldrat namn.
Skapa en återanvändbar profil från en 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;
Använd MergePreflightProfiles för att kombinera en preset
med projektspecifika namn. Använd DiffPreflightProfiles för
att granska profildrift innan du uppdaterar en delad konfigurationsfil.
Arkivera rapporten med PDF-filen
PDF.EmbedPreflightReportInPDF('Input.pdf', 'Input-with-report.pdf');
PDF.EmbedPreflightReportAsXMP('Input.pdf', 'Input-with-xmp-report.pdf');
Textinbäddningsvägen lägger till ett läsbart kommentarsblock efter den
sista EOF-markören. XMP-vägen lägger till en RDF-formad nyttolast för
arkiveringsflöden som skannar metadatapaket.
Validera en inbäddad 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;
Valideringsvägen jämför det inbäddade fingeravtrycket med en ny
preflight-körning över källbyten. Diff-hjälparen är radorienterad och
anpassad för HotPDF preflight-rapporter.
Kör en konservativ reparationspass
var
RepairsApplied: AnsiString;
begin
if PDF.RepairPDFFromPreflightReport(
'Broken.pdf', 'Broken-repaired.pdf', RepairsApplied) then
WriteLn(string(RepairsApplied));
end;
Reparationshjälparen hålls avsiktligt snäv. Den hanterar avslutande
byte efter den sista EOF-markören och saknade EOF-markörer, men bygger
inte om korsreferenstabeller och skriver inte om strömmar.
Sammanställ många rapporter
Reports[0] := PDF.CreatePreflightReport('A.pdf');
Reports[1] := PDF.CreatePreflightReport('B.pdf');
Summary := PDF.AggregatePreflightReports(Reports);
Den sammanställda utdatan listar en statusrad per PDF och totalsummor
för bearbetade rapporter, fel och varningar. Det är användbart när en
pipeline behöver en enda sammanfattning även om detaljerade rapporter
sparas per indatafil.
Använd kommandoradsverktyget
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:n speglar bibliotekets arbetsflöde: en fil eller rekursiv
katalogindata, text / JSON / HTML-utdata, valfritt lösenord, valfri
profil, inbyggd preset, utförliga framsteg och sammanställd
sammanfattning.
Bygg en statisk dashboard
PreflightDashboard C:\Archive C:\Archive\preflight-dashboard
Dashboard-demot skriver en index.html plus HTML-rapporter
per fil. Ingen webbserver krävs, så resultatet kan publiceras som en
statisk artefakt.
Anpassa till JSON-konsumenter i veraPDF-stil
Report := PDF.CreatePreflightReport('Input.pdf');
JSON := PDF.ConvertPreflightReportToVeraPDFStyle(Report);
Adaptern behåller HotPDF-semantiken samtidigt som fel omformas till
en bekant valideringsresultatstruktur för verktyg som redan förbrukar
veraPDF-liknande JSON.
Relaterade ämnen
|