Preflight Reports

Compliance, Documentinspectie, Automatisering

PDF/UA-lezerprofielkeuze

PDF/UA-controles kiezen deel 2 wanneer XMP pdfuaid:part=2 identificeert en behouden anders de deel 1-controles; van de hier beschreven oudere PDF/UA-1-controles mag niet worden aangenomen dat ze voor deel 2 gelden

Het PDF/UA-2-profiel implementeert kerncontroles voor identificatie, naamruimten, rollen en structuur; gestructureerde rapporten gebruiken PDF/UA-2 en ISO 14289-2 en vermelden fullCertification=false en de niet-geverifieerde reikwijdte

Gebruik CheckFilePDFUACompliance of RunPDFUAValidationPipelineTask om een doeldeel af te dwingen en GetPDFUAReadValidationCoverageJSON om de grenzen van de mogelijkheden te bekijken

Overzicht

PDF Library for Delphi kan zijn ingebouwde PDF/A- en PDF/UA-1-bestandsconformiteitscontroles draaien tegen een externe PDF en het resultaat omzetten in herbruikbare rapportuitvoer. Gebruik de rapport-API's wanneer een toepassing of buildpipeline dezelfde diagnostics nodig heeft als CheckFileCompliance, maar geen stringlijst-handles zelf wil beheren

De rapportpipeline is bewust gelaagd. CheckFileCompliance blijft de low-level API die bevindingenlijst-handles teruggeeft. CreatePreflightReport giet de gekozen controles in een stabiele platte-tekstkern. CreatePreflightReportEx zet datzelfde tekstrapport om naar tekst, JSON, HTML of CSV, zodat alle formaten dezelfde pass/fail-status en bevindingentelling delen

Bibliotheek-API's

CheckFileComplianceDraait één gekozen compliancecontrole tegen een PDF-bestand en geeft 0 bij een geslaagde test of een StringListID met bevindingsregels terug
CreatePreflightReportDraait PDF/A-, PDF/UA-1- of beide controles en geeft een rapport in platte tekst terug met header-metadata, één sectie per controle en een slotoverzicht
CreatePreflightReportExRetourneert hetzelfde rapport in tekstformaat (0), JSON-formaat (1), HTML-formaat (2) of CSV-formaat (3). Onbekende formaatwaarden vallen terug op tekst
SavePreflightReportSchrijft het platte-tekstrapport als UTF-8 en maakt de bovenliggende map aan wanneer nodig
SavePreflightReportExSchrijft een tekst-, JSON-, HTML- of CSV-rapport als UTF-8 en maakt de bovenliggende map aan wanneer nodig
ComparePreflightReportsVergelijkt twee rapporten in platte tekst, negeert vluchtige Generated:-tijdstempelregels en geeft alleen een compacte diff terug wanneer stabiele inhoud is gewijzigd

Formaatcontract

TextDe canonieke rapportkern. Hij bevat Generated, Input, Checks, Issue mode, één sectie per geselecteerde controle en een Summary-blok met Total issues en Result
JSONEén object met title, generated, input, checks, issueMode, sections en summary. Elke sectie heeft een naam, een status en een array met bevindingsstrings
HTMLEen op zichzelf staand UTF-8-HTML-document. Het tekstrapport is HTML-geëscapeerd en wordt in een preformatted-blok getoond, zodat de rapportinhoud zichtbaar is zonder als markup te worden geïnterpreteerd
CSVRijen gebruiken de vaste kolommen kind,section,status,code,message. meta-rijen dragen header-velden, check-rijen dragen PASS/FAIL-sectiestatus, issue-rijen splitsen numerieke bevindingscodes van meldingen, en summary-rijen dragen de eindtotalen

Nalevingsselectie

De rapport-API's gebruiken een bitmasker voor ComplianceTests: 1 kiest PDF/A, 2 kiest PDF/UA-1 en 3 kiest beide. Ook 0 doorgeven draait beide controles. Options gebruikt momenteel bit 1 om elke gekozen controle te stoppen na zijn eerste bevinding; geef 0 door om alle gemelde bevindingen te verzamelen

Command-Line Demo

De Delphi-console-demo PreflightReport toont de rapportworkflow zonder toepassingsspecifieke UI toe te voegen. Hij kan één PDF valideren, geformatteerde uitvoer genereren, een nieuw tekstrapport tegen een baseline vergelijken of een map in batch verwerken

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

Single-file-modus geeft exitcode 0 terug wanneer de gekozen controles geen bevindingen melden, 1 bij commandline- of runtimefouten, en 2 wanneer er een bevinding wordt gemeld of de baselinevergelijking afwijkt. Directory-modus schrijft per PDF één bestand <basename>.preflight.<ext> en voegt een bestand preflight-summary.csv toe met bronpad, pass/fail-status, bevindingentelling en rapportpad

Comparison Notes

ComparePreflightReports is gedefinieerd voor platte-tekstrapporten. Voer er het baseline-tekstrapport en het nieuw gegenereerde tekstrapport in, ook wanneer de mensgerichte uitvoer van dezelfde run JSON, HTML of CSV is. De vergelijker normaliseert Generated:-regels omdat timestamps bij elke run veranderen; alle andere stabiele regels worden in volgorde vergeleken met een klein vooruitkijkvenster zodat invoeg- en verwijderdiffs leesbaar blijven

Zie ook

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