Preflight-jelentések

Megfelelőség, Dokumentumvizsgálat, Automatizálás

Áttekintés

A PDF Library for Delphi beépített PDF/A- és PDF/UA-1 fájlmegfelelőségi ellenőrzéseket futtathat külső PDF-en, és az eredményt újrafelhasználható jelentéskimenetté alakíthatja. A jelentés-API-kat akkor használja, ha egy alkalmazásnak vagy buildfolyamatnak ugyanarra a diagnosztikára van szüksége, mint a CheckFileCompliance esetében, de nem kívánja közvetlenül kezelni a sztringlisták fogantyúit.

A jelentési folyamat szándékosan réteges. A CheckFileCompliance továbbra is a problémalisták fogantyúit visszaadó alacsony szintű API. A CreatePreflightReport a kiválasztott ellenőrzéseket stabil, egyszerű szöveges törzzsé formázza. A CreatePreflightReportEx ugyanezt a szöveges jelentést szöveg, JSON, HTML vagy CSV formátumba alakítja, így minden formátum azonos sikeres/sikertelen állapotot és problémaszámot használ.

Könyvtári API-k

CheckFileComplianceEgy kiválasztott megfelelőségi ellenőrzést futtat egy PDF-fájlon, és siker esetén 0 értéket, egyébként a problémasorokat tartalmazó StringListID azonosítót ad vissza.
CreatePreflightReportPDF/A-, PDF/UA-1 vagy mindkét ellenőrzést futtat, és fejléc-metaadatokat, ellenőrzésenként egy szakaszt, valamint végső összefoglalót tartalmazó egyszerű szöveges jelentést ad vissza.
CreatePreflightReportExUgyanazt a jelentést szöveg (0), JSON (1), HTML (2) vagy CSV (3) formátumban adja vissza. Ismeretlen formátumérték esetén szövegre vált vissza.
SavePreflightReportAz egyszerű szöveges jelentést UTF-8 formátumban írja, és szükség esetén létrehozza a szülőkönyvtárat.
SavePreflightReportExA szöveges, JSON-, HTML- vagy CSV-jelentést UTF-8 formátumban írja, és szükség esetén létrehozza a szülőkönyvtárat.
ComparePreflightReportsKét egyszerű szöveges jelentést hasonlít össze, figyelmen kívül hagyja a változó Generated: időbélyegsorokat, és csak a stabil tartalom változásakor ad vissza tömör eltérést.

Formátumszerződés

TextA jelentés kanonikus törzse. Tartalmazza a Generated, Input, Checks, Issue mode mezőket, minden kiválasztott ellenőrzéshez egy szakaszt, valamint egy Summary blokkot a Total issues és Result mezőkkel.
JSONEgyetlen objektum title, generated, input, checks, issueMode, sections és summary mezőkkel. Minden szakasznak neve, állapota és problémasztring-tömbje van.
HTMLÖnálló UTF-8 HTML-dokumentum. A szöveges jelentés HTML-karaktereit escape-eli, és előformázott blokkban jeleníti meg, így a jelentés tartalma jelölésként való értelmezés nélkül látható.
CSVA sorok a rögzített kind,section,status,code,message oszlopokat használják. A meta sorok fejlécmezőket, a check sorok a szakasz PASS/FAIL állapotát, az issue sorok a numerikus problémakódokat és üzeneteket, a summary sorok pedig a végső összesítéseket tartalmazzák.

Megfelelőség kiválasztása

A jelentés-API-k bitmaszkot használnak a ComplianceTests értékhez: az 1 a PDF/A-t, a 2 a PDF/UA-1-et, a 3 pedig mindkettőt kiválasztja. A 0 átadása szintén mindkét ellenőrzést futtatja. Az Options jelenleg az 1 bitet használja arra, hogy minden kiválasztott ellenőrzést az első probléma után leállítson; az összes jelentett probléma összegyűjtéséhez adjon át 0 értéket.

Parancssori bemutató

A Delphi PreflightReport konzolos demója alkalmazásspecifikus felület hozzáadása nélkül mutatja be a jelentési munkafolyamatot. Egyetlen PDF-et ellenőrizhet, formázott kimenetet hozhat létre, egy új szöveges jelentést alapértékhez hasonlíthat, vagy kötegelten dolgozhat fel egy könyvtárat.

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

Az egyfájlos mód 0 kilépési kódot ad vissza, ha a kiválasztott ellenőrzések nem jelentenek problémát, 1 értéket parancssori vagy futásidejű hiba esetén, és 2 értéket, ha bármilyen problémát jelentettek, vagy az alapérték-összehasonlítás eltér. A könyvtármód PDF-enként egy <basename>.preflight.<ext> fájlt ír, és hozzáad egy preflight-summary.csv fájlt a forrás elérési útjával, a sikeres/sikertelen állapottal, a problémák számával és a jelentés elérési útjával.

Összehasonlítási megjegyzések

A ComparePreflightReports egyszerű szöveges jelentésekhez készült. Az alapérték szöveges jelentését és az újonnan létrehozott szöveges jelentést kell átadni neki akkor is, ha ugyanazon futás felhasználóknak szánt kimenete JSON, HTML vagy CSV. Az összehasonlító normalizálja a Generated: sorokat, mert az időbélyegek minden futáskor változnak; az összes többi stabil sort sorrendben, kis előretekintési ablakkal hasonlítja össze, hogy a beszúrási és törlési eltérések olvashatók maradjanak.

Lásd még

CheckFileCompliance, CreatePreflightReport, CreatePreflightReportEx, SavePreflightReport, SavePreflightReportEx, ComparePreflightReports, GetPDFUADiagnostics