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
| CheckFileCompliance | Kjører én valgt samsvarssjekk mot en PDF-fil og returnerer 0 for godkjent eller en StringListID med funnlinjer |
|---|---|
| CreatePreflightReport | Kjører PDF/A-, PDF/UA-1- eller begge sjekker og returnerer en tekstrapport med toppmetadata, én seksjon per sjekk og en endelig oppsummering |
| CreatePreflightReportEx | Returnerer den samme rapporten i tekst- (0), JSON- (1), HTML- (2) eller CSV-format (3). Ukjente formatverdier faller tilbake til tekst |
| SavePreflightReport | Skriver ren-tekstrapporten som UTF-8 og oppretter overordnet mappe ved behov |
| SavePreflightReportEx | Skriver en tekst-, JSON-, HTML- eller CSV-rapport som UTF-8 og oppretter overordnet mappe ved behov |
| ComparePreflightReports | Sammenligner to rapporter i ren tekst, ignorerer flyktige Generated:-tidsstemperlinjer og returnerer en kompakt diff bare når stabilt innhold er endret |
Formatkontrakt
| Text | Den kanoniske rapportbrødteksten. Den inneholder Generated, Input, Checks, Issue mode, én seksjon per valgt sjekk, og en Summary-blokk med Total issues og Result |
|---|---|
| JSON | Ett objekt med title, generated, input, checks, issueMode, sections og summary. Hver seksjon har et navn, en status og en matrise med funnstrenger |
| HTML | Et 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 |
| CSV | Rader 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