Preflight Reports
skladnost, pregledovanje dokumentov, avtomatizacija
Pregled
PDF Library for Delphi lahko zažene svoja vgrajena preverjanja skladnosti datotek PDF/A in PDF/UA-1 nad zunanjo datoteko PDF in pretvori rezultat v ponovno uporabljiv izhod poročil. API-je poročil uporabite, kadar aplikacija ali gradbeni cevovod potrebuje isto diagnostiko kot CheckFileCompliance, a ne želi neposredno upravljati ročajev seznamov nizov
Cevovod poročil je namensko plasten. CheckFileCompliance ostaja nizkonivojski API, ki vrne ročaje seznamov težav. CreatePreflightReport oblikuje izbrana preverjanja v stabilno telo navadnega besedila. CreatePreflightReportEx pretvori isto besedilno poročilo v text, JSON, HTML ali CSV, tako da vsi formati delijo isto stanje uspeha/napake in število težav
API-ji knjižnice
| CheckFileCompliance | Zažene eno izbrano preverjanje skladnosti nad datoteko PDF in vrne 0 za uspeh ali StringListID, ki vsebuje vrstice težav |
|---|---|
| CreatePreflightReport | Zažene preverjanja PDF/A, PDF/UA-1 ali oboje in vrne poročilo v navadnem besedilu z metapodatki glave, eno sekcijo na preverjanje in končnim povzetkom |
| CreatePreflightReportEx | Vrne isto poročilo v formatu besedila (0), JSON (1), HTML (2) ali CSV (3). Neznane vrednosti formata nazadujejo na besedilo |
| SavePreflightReport | Zapiše poročilo v obliki navadnega besedila kot UTF-8 in po potrebi ustvari nadrejeni imenik |
| SavePreflightReportEx | Zapiše poročilo text, JSON, HTML ali CSV kot UTF-8 in po potrebi ustvari nadrejeni imenik |
| ComparePreflightReports | Primerjavi dve poročili v navadnem besedilu, ignorira spremenljive vrstice časovnih žigov Generated: in vrne kompakten diff le, kadar se je spremenila stabilna vsebina |
Pogodba o obliki
| Text | Kanonično telo poročila. Vsebuje Generated, Input, Checks, Issue mode, eno sekcijo za vsako izbrano preverjanje in blok Summary s Total issues in Result |
|---|---|
| JSON | En sam objekt s title, generated, input, checks, issueMode, sections in summary. Vsaka sekcija ima ime, stanje in tabelo nizov težav |
| HTML | Samostojen dokument HTML UTF-8. Besedilno poročilo je s HTML ubežnimi znaki in prikazano znotraj vnaprej oblikovanega bloka, tako da je vsebina poročila vidna, ne da bi jo bralnik tolmačil kot oznake |
| CSV | Vrstice uporabljajo fiksne stolpce kind,section,status,code,message. Vrstice meta nosijo polja glave, vrstice check nosijo stanje sekcije PASS/FAIL, vrstice issue ločijo številske kode težav od sporočil, vrstice summary pa nosijo končne vsote |
Izbira skladnosti
API-ji poročil uporabljajo bitno masko za ComplianceTests: 1 izbere PDF/A, 2 izbere PDF/UA-1, 3 pa izbere oboje. Podajanje 0 prav tako zažene obe preverjanji. Options trenutno uporablja bit 1 za ustavitev vsakega izbranega preverjanja po njegovi prvi težavi; podajte 0 za zbiranje vseh poročanih težav
Demo iz ukazne vrstice
Konzolna predstavitev PreflightReport v Delphi prikaže potek dela poročil brez dodajanja aplikacijskega uporabniškega vmesnika. Lahko validira posamezen PDF, ustvari oblikovan izhod, primerja novo besedilno poročilo z osnovnim ali paketno obdela imenik
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
Enodatotečni način vrne izstopno kodo 0, kadar izbrana preverjanja ne poročajo o težavah, 1 za napake ukazne vrstice ali izvajanja in 2, kadar je poročana katera koli težava ali se osnovna primerjava razlikuje. Imeniški način zapiše eno datoteko <basename>.preflight.<ext> na PDF in doda datoteko preflight-summary.csv z izvorno potjo, stanjem uspeha/napake, številom težav in potjo poročila
Opombe o primerjavi
ComparePreflightReports je opredeljen za poročila v navadnem besedilu. Nahraniti ga je treba z osnovnim besedilnim poročilom in na novo ustvarjenim besedilnim poročilom, tudi kadar je izhod za ljudi istega zagona JSON, HTML ali CSV. Primerjevalnik normalizira vrstice Generated:, ker se časovni žigi vsak zagon spremenijo; vse ostale stabilne vrstice se primerjajo po vrstnem redu z majhnim oknom napovedi, da ostanejo razlike vstavljanja in brisanja berljive
Glejte tudi
CheckFileCompliance, CreatePreflightReport, CreatePreflightReportEx, SavePreflightReport, SavePreflightReportEx, ComparePreflightReports, GetPDFUADiagnostics