Preflight izveštaji
Usklađenost, Pregled dokumenta, Automatizacija
Pregled
PDFlibPas može da pokreće ugrađene provere usklađenosti PDF/A i PDF/UA-1 nad spoljnim PDF-om i da rezultat pretvori u izveštaj koji se može ponovo koristiti. Koristite API-je za izveštaje kada aplikaciji ili build pipeline-u trebaju iste dijagnostike kao CheckFileCompliance, ali ne želite da direktno upravljate rukohvatima string liste
Lanac izveštaja je namerno slojevit. CheckFileCompliance ostaje niskonivojski API koji vraća rukohvate liste problema. CreatePreflightReport oblikuje izabrane provere u stabilan običan tekst. CreatePreflightReportEx pretvara isti tekstualni izveštaj u tekst, JSON, HTML ili CSV, tako da svi formati dele isto stanje prolaz/neuspeh i isti broj problema
API biblioteke
| CheckFileCompliance | Pokreće jednu izabranu proveru usklađenosti nad PDF datotekom i vraća 0 za prolaz ili StringListID koji sadrži linije problema |
|---|---|
| CreatePreflightReport | Pokreće PDF/A, PDF/UA-1 ili obe provere i vraća izveštaj u običnom tekstu sa metapodacima zaglavlja, jednim odeljkom po proveri i završnim sažetkom |
| CreatePreflightReportEx | Vraća isti izveštaj u tekstu (0), JSON-u (1), HTML-u (2) ili CSV-u (3). Nepoznate vrednosti formata vraćaju običan tekst |
| SavePreflightReport | Upisuje izveštaj u običnom tekstu kao UTF-8 i po potrebi kreira nadređeni direktorijum |
| SavePreflightReportEx | Upisuje izveštaj u tekstu, JSON-u, HTML-u ili CSV-u kao UTF-8 i po potrebi kreira nadređeni direktorijum |
| ComparePreflightReports | Poredi dva izveštaja u običnom tekstu, zanemaruje promenljive linije sa vremenskim pečatom Generated: i vraća sažet diff samo kada je stabilan sadržaj promenjen |
Ugovor formata
| Text | Kanonsko telo izveštaja. Sadrži Generated, Input, Checks, Issue mode, po jedan odeljak za svaku izabranu proveru i blok Summary sa Total issues i Result |
|---|---|
| JSON | Jedan objekat sa title, generated, input, checks, issueMode, sections i summary. Svaki odeljak ima naziv, status i niz nizova problema |
| HTML | Samostalan HTML dokument u UTF-8 formatu. Tekstualni izveštaj je HTML-eskapiran i prikazan unutar preformatiranog bloka, tako da je sadržaj izveštaja vidljiv bez tumačenja kao markup |
| CSV | Redovi koriste fiksne kolone kind,section,status,code,message. meta redovi nose polja zaglavlja, check redovi nose status odeljka PASS/FAIL, issue redovi odvajaju numeričke kodove problema od poruka, a summary redovi nose završne ukupne vrednosti |
Izbor usklađenosti
API-ji za izveštaje koriste bitmasku za ComplianceTests: 1 bira PDF/A, 2 bira PDF/UA-1, a 3 bira oba. Vrednost 0 takođe pokreće obe provere. Options trenutno koristi bit 1 da zaustavi svaku izabranu proveru nakon prvog problema; koristite 0 da sakupite sve prijavljene probleme
Demo za komandnu liniju
Delphi PreflightReport konzolni demo prikazuje tok izveštaja bez dodavanja korisničkog interfejsa specifičnog za aplikaciju. Može da validira jedan PDF, generiše formatirani izlaz, uporedi novi tekstualni izveštaj sa baznom verzijom ili obradi direktorijum u batch režimu
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
U režimu jedne datoteke vraća izlazni kod 0 kada izabrane provere ne prijave probleme, 1 za greške komandne linije ili izvođenja, i 2 kada se prijavi bilo koji problem ili se poređenje sa baznom verzijom razlikuje. Režim direktorijuma upisuje po jednu datoteku <basename>.preflight.<ext> za svaki PDF i dodaje datoteku preflight-summary.csv sa izvorom, statusom prolaz/neuspeh, brojem problema i putanjom izveštaja
Napomene o poređenju
ComparePreflightReports je definisan za izveštaje u običnom tekstu. Treba mu proslediti bazni tekstualni izveštaj i novogenerisani tekstualni izveštaj, čak i kada je izlaz istog pokretanja namenjen ljudima kao JSON, HTML ili CSV. Poređivač normalizuje linije Generated: zato što se vremenske oznake menjaju pri svakom pokretanju; sve ostale stabilne linije porede se redom uz mali prozor gledanja unapred da bi umetanja i brisanja ostala čitljiva
Pogledajte i
CheckFileCompliance, CreatePreflightReport, CreatePreflightReportEx, SavePreflightReport, SavePreflightReportEx, ComparePreflightReports, GetPDFUADiagnostics