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

CheckFileCompliancePokreće jednu izabranu proveru usklađenosti nad PDF datotekom i vraća 0 za prolaz ili StringListID koji sadrži linije problema
CreatePreflightReportPokreć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
CreatePreflightReportExVrać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
SavePreflightReportUpisuje izveštaj u običnom tekstu kao UTF-8 i po potrebi kreira nadređeni direktorijum
SavePreflightReportExUpisuje izveštaj u tekstu, JSON-u, HTML-u ili CSV-u kao UTF-8 i po potrebi kreira nadređeni direktorijum
ComparePreflightReportsPoredi 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

TextKanonsko 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
JSONJedan objekat sa title, generated, input, checks, issueMode, sections i summary. Svaki odeljak ima naziv, status i niz nizova problema
HTMLSamostalan 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
CSVRedovi 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