Preflight Reports

Shoda, kontrola dokumentů, automatizace

Overview

PDF Library for Delphi dokáže spustit své vestavěné kontroly souladu souboru s PDF/A a PDF/UA-1 nad externím PDF a výsledek přetavit do znovu použitelného výstupu zpráv. Report API použijte, když aplikace nebo build pipeline potřebuje tutéž diagnostiku jako CheckFileCompliance, ale nechce si přímo spravovat handle string listů

Report pipeline je záměrně vrstvená. CheckFileCompliance zůstává nízkoúrovňovým API vracejícím handle seznamů problémů. CreatePreflightReport naformátuje vybrané kontroly do stabilního textového těla. CreatePreflightReportEx převede tutéž textovou zprávu do textu, JSON, HTML nebo CSV, takže všechny formáty sdílejí stejný stav pass/fail i počet problémů

Library APIs

CheckFileComplianceRuns one selected compliance check against a PDF file and returns 0 for pass or a StringListID containing issue lines.
CreatePreflightReportRuns PDF/A, PDF/UA-1, or both checks and returns a plain-text report with header metadata, one section per check, and a final summary.
CreatePreflightReportExVrací stejný report ve formátu text (0), JSON (1), HTML (2) nebo CSV (3). Neznámé hodnoty formátu se převedou na text
SavePreflightReportZapíše textovou zprávu jako UTF-8 a v případě potřeby vytvoří nadřazený adresář
SavePreflightReportExZapíše zprávu text, JSON, HTML nebo CSV jako UTF-8 a v případě potřeby vytvoří nadřazený adresář
ComparePreflightReportsCompares two plain-text reports, ignores volatile Generated: timestamp lines, and returns a compact diff only when stable content changed.

Format Contract

TextKanonické tělo zprávy. Obsahuje Generated, Input, Checks, Issue mode, jednu sekci pro každou vybranou kontrolu a blok Summary s Total issues a Result
JSONA single object with title, generated, input, checks, issueMode, sections, and summary. Each section has a name, status, and issue-string array.
HTMLSamostatný HTML dokument v UTF-8. Textová zpráva je HTML-escapovaná a zobrazí se v preformátovaném bloku, takže obsah zprávy je vidět, aniž by byl interpretován jako značky
CSVŘádky používají pevné sloupce kind,section,status,code,message. Řádky meta nesou hlavičková pole, řádky check stav sekce PASS/FAIL, řádky issue oddělují číselné kódy problémů od zpráv a řádky summary nesou finální součty

Compliance Selection

Report API používají pro ComplianceTests bitovou masku: 1 volí PDF/A, 2 volí PDF/UA-1 a 3 volí obojí. Předání 0 také spustí obě kontroly. Options aktuálně používá bit 1 k zastavení každé vybrané kontroly po jejím prvním nálezu; předejte 0, chcete-li sesbírat všechny nahlášené problémy

Command-Line Demo

Konzolová ukázka PreflightReport pro Delphi ukazuje workflow zpráv, aniž by přidala UI specifické pro aplikaci. Umí zvalidovat jedno PDF, vyrobit formátovaný výstup, porovnat novou textovou zprávu s referencí, nebo dávkově zpracovat adresář

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

Režim jednoho souboru vrátí výstupní kód 0, když vybrané kontroly nehlásí žádný problém, 1 pro chyby příkazové řádky nebo běhu a 2, když se hlásí jakýkoli problém nebo se liší porovnání s referencí. Režim adresáře zapíše pro každé PDF jeden soubor <basename>.preflight.<ext> a přidá soubor preflight-summary.csv se zdrojovou cestou, stavem pass/fail, počtem problémů a cestou ke zprávě

Comparison Notes

ComparePreflightReports je definováno pro textové zprávy. Měla by mu být předána referenční textová zpráva a nově vygenerovaná textová zpráva, i když lidsky čitelný výstup téhož běhu je JSON, HTML nebo CSV. Komparátor normalizuje řádky Generated:, protože časová razítka se mění při každém běhu; všechny ostatní stabilní řádky se porovnávají v pořadí s malým look-ahead oknem, aby diffy vložení a smazání zůstaly čitelné

Viz také

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