Preflight Reports

Samsvar, Dokumentinspeksjon, Automatisering

Oversikt

PDF Library for Delphi kan kjøre sine innebygde PDF/A- og PDF/UA-1 fil-samsvarssjekker mot en ekstern PDF og gjøre resultatet om til gjenbrukbart rapportutdata. Bruk rapport-API-ene når et program eller en bygg-pipeline trenger de samme diagnosene som CheckFileCompliance, men ikke vil administrere strengliste-håndtak direkte

Rapportpipelinen er bevisst lagdelt. CheckFileCompliance forblir lavnivå-API-et som returnerer problemliste-håndtak. CreatePreflightReport formaterer de valgte sjekkene til en stabil ren-tekst-brødtekst. CreatePreflightReportEx konverterer den samme tekstrapporten til tekst, JSON, HTML eller CSV slik at alle formater deler samme pass/fail-status og problemantall

Bibliotek-APIer

CheckFileComplianceKjører én valgt samsvarssjekk mot en PDF-fil og returnerer 0 for godkjent eller en StringListID med funnlinjer
CreatePreflightReportKjører PDF/A-, PDF/UA-1- eller begge sjekker og returnerer en tekstrapport med toppmetadata, én seksjon per sjekk og en endelig oppsummering
CreatePreflightReportExReturnerer den samme rapporten i tekst- (0), JSON- (1), HTML- (2) eller CSV-format (3). Ukjente formatverdier faller tilbake til tekst
SavePreflightReportSkriver ren-tekstrapporten som UTF-8 og oppretter overordnet mappe ved behov
SavePreflightReportExSkriver en tekst-, JSON-, HTML- eller CSV-rapport som UTF-8 og oppretter overordnet mappe ved behov
ComparePreflightReportsSammenligner to rapporter i ren tekst, ignorerer flyktige Generated:-tidsstemperlinjer og returnerer en kompakt diff bare når stabilt innhold er endret

Formatkontrakt

TextDen kanoniske rapportbrødteksten. Den inneholder Generated, Input, Checks, Issue mode, én seksjon per valgt sjekk, og en Summary-blokk med Total issues og Result
JSONEtt objekt med title, generated, input, checks, issueMode, sections og summary. Hver seksjon har et navn, en status og en matrise med funnstrenger
HTMLEt frittstående UTF-8 HTML-dokument. Tekstrapporten er HTML-escapet og vises inni en forhåndsformatert blokk, så rapportinnholdet er synlig uten å tolkes som markup
CSVRader bruker de faste kolonnene kind,section,status,code,message. meta-rader bærer hodefelt, check-rader bærer PASS/FAIL-seksjonsstatus, issue-rader skiller numeriske problemkoder fra meldinger, og summary-rader bærer de endelige totalsummene

Samsvarsvalg

Rapport-API-ene bruker en bitmaske for ComplianceTests: 1 velger PDF/A, 2 velger PDF/UA-1, og 3 velger begge. Å sende 0 kjører også begge sjekkene. Options bruker for tiden bit 1 til å stoppe hver valgt sjekk etter sitt første problem; send 0 for å samle alle rapporterte problemer

Command-Line Demo

Delphi PreflightReport-konsoll-demoen viser rapportarbeidsflyten uten å legge til programspesifikk UI. Den kan validere en enkelt PDF, generere formatert utdata, sammenligne en ny tekstrapport mot en basislinje, eller batch-behandle en mappe

PreflightReport.exe --input "C:\PDFs\invoice.pdf" --output "C:\Reports\invoice.preflight.txt"
PreflightReport.exe --input "C:\PDFs\invoice.pdf" --output "C:\Reports\invoice.preflight.json" --json
PreflightReport.exe --input "C:\PDFs\invoice.pdf" --output "C:\Reports\invoice.preflight.csv" --format csv
PreflightReport.exe --input "C:\PDFs\invoice.pdf" --output "C:\Reports\invoice.preflight.txt" --compare "C:\Baselines\invoice.preflight.txt"
PreflightReport.exe --input-dir "C:\PDFs" --output-dir "C:\Reports" --recursive --format html

Enkeltfil-modus returnerer exit-kode 0 når de valgte sjekkene rapporterer ingen problemer, 1 for kommandolinje- eller kjøretidsfeil, og 2 når ethvert problem rapporteres eller basislinje-sammenligningen avviker. Katalogmodus skriver én <basename>.preflight.<ext>-fil per PDF og legger til en preflight-summary.csv-fil med kildebane, pass/fail-status, problemantall og rapportbane

Comparison Notes

ComparePreflightReports er definert for ren-tekstrapporter. Den skal fodres med basislinje-tekstrapporten og den nylig genererte tekstrapporten, selv når det menneskevendte utdataet for samme kjøring er JSON, HTML eller CSV. Sammenligneren normaliserer Generated:-linjer fordi tidsstempler endres ved hver kjøring; alle andre stabile linjer sammenlignes i rekkefølge med et lite forutsigelsesvindu for å holde innsettings- og slettingsdiffer lesbare

Se også

CheckFileCompliance, CreatePreflightReport, CreatePreflightReportEx, SavePreflightReport, SavePreflightReportEx, ComparePreflightReports, GetPDFUADiagnostics