Preflight izvješća
Usklađenost, Pregled dokumenta, Automatizacija
Pregled
PDF Library for Delphi can run its built-in PDF/A and PDF/UA-1 file-compliance checks against an external PDF and turn the result into reusable report output. Use the report APIs when an application or build pipeline needs the same diagnostics as CheckFileUsklađenost, but does not want to manage string-list handles directly.
Cjevovod izvješća namjerno je raslojan. CheckFileCompliance ostaje niskorazinski API koji vraća ručke popisa problema. CreatePreflightReport formatira odabrane provjere u stabilno običnotekstovno tijelo. CreatePreflightReportEx taj isti tekstualni izvještaj pretvara u tekst, JSON, HTML ili CSV, pa svi formati dijele isti status prolaza/pada i broj problema
API-jevi biblioteke
| CheckFileUsklađenost | Pokreće jednu odabranu provjeru usklađenosti nad PDF datotekom i vraća 0 za prolaz ili StringListID koji sadrži retke problema. |
|---|---|
| CreatePreflightReport | Pokreće provjere PDF/A, PDF/UA-1 ili obje i vraća običnotekstualno izvješće sa zaglavnim metapodacima, jednim odjeljkom po provjeri i završnim sažetkom. |
| CreatePreflightReportEx | Povratne vrijednosti isto izvješće u formatu tekst (0), JSON (1), HTML (2) ili CSV (3). Nepoznate vrijednosti formata vraćaju se na tekst |
| SavePreflightReport | Zapisuje običnotekstualno izvješće kao UTF-8 i po potrebi stvara nadređeni direktorij. |
| SavePreflightReportEx | Zapisuje tekstualno, JSON, HTML ili CSV izvješće kao UTF-8 i po potrebi stvara nadređeni direktorij. |
| ComparePreflightReports | Uspoređuje dva običnotekstualna izvješća, zanemaruje promjenjive retke vremenske oznake Generated: i vraća sažeti diff samo kada se promijenio stabilni sadržaj. |
Ugovor formata
| Text | Kanonsko tijelo izvješća. Sadrži Generated, Input, Checks, Issue mode, po jedan odsječak za svaku odabranu provjeru i blok Summary s Total issues i Result |
|---|---|
| JSON | Jedan objekt s title, generated, input, checks, issueMode, sections i summary. Svaki odsječak ima ime, status i niz nizova znakova problema |
| HTML | Samostalni UTF-8 HTML dokument. Tekstualno izvješće HTML-bježi se i prikazuje unutar preformatiranog bloka pa je sadržaj izvješća vidljiv a da se ne tumači kao oznake |
| CSV | Retci upotrebljavaju fiksne stupce kind,section,status,code,message. Retci meta nose polja zaglavlja, retci check nose status odjeljka PASS/FAIL, retci issue razdvajaju brojčane kodove problema od poruka, a retci summary nose konačne ukupnosti |
Odabir usklađenosti
The report APIs use a bit mask for UsklađenostTests: 1 selects PDF/A, 2 selects PDF/UA-1, and 3 selects both. Passing 0 also runs both checks. Options currently uses bit 1 to stop each selected check after its first issue; pass 0 to collect all reported issues.
Demo iz naredbenog retka
Delphi konzolni demo PreflightReport prikazuje tijek rada s izvješćima bez dodavanja UI-ja specifičnog za aplikaciju. Može provjeriti jedan PDF, generirati oblikovani izlaz, usporediti novo tekstualno izvješće s osnovnom verzijom ili skupno obraditi direktorij.
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
Način za jednu datoteku vraća izlazni kod 0 kada odabrane provjere ne prijave probleme, 1 za pogreške naredbenog retka ili izvođenja i 2 kada je prijavljen bilo kakav problem ili se osnovna usporedba razlikuje. Način direktorija zapisuje jednu datoteku <basename>.preflight.<ext> po PDF-u i dodaje datoteku preflight-summary.csv s izvornom putanjom, statusom prolaz/neuspjeh, brojem problema i putanjom izvješća.
Napomene o usporedbi
ComparePreflightReports definiran je za običnotekstualna izvješća. Treba mu dati osnovno tekstualno izvješće i novogenerirano tekstualno izvješće, čak i kada je izlaz za isti pokret JSON, HTML ili CSV. Uspoređivač normalizira retke Generated: jer se vremenske oznake mijenjaju pri svakom pokretanju; svi drugi stabilni retci uspoređuju se redom uz mali prozor gledanja unaprijed kako bi se diffovi umetanja i brisanja lakše čitali.
Vidi također
CheckFileUsklađenost, CreatePreflightReport, CreatePreflightReportEx, SavePreflightReport, SavePreflightReportEx, ComparePreflightReports, GetPDFUADiagnostics