CreateValidationReport

Compliance

Beschreibung

Erstellt einen strukturierten PDF/A- und PDF/UA-1-Validierungsbericht in XML oder JSON, wobei jeder Feststellung die ISO-Klausel und Statistiken beigefügt werden

Syntax

Delphi

Function TPDFlib.CreateValidationReport(Const InputFileName, Password: WideString; ComplianceTests, Options, ReportFormat: Integer): WideString;

Parameter

InputFileNameDie zu validierende PDF-Datei
PasswordDas zum Öffnen der Datei erforderliche Kennwort oder eine leere Zeichenfolge
ComplianceTestsBitmaske zur Auswahl der Prüfungen: 1 = PDF/A, 2 = PDF/UA-1, 0 = beide
OptionsWird an die Prüfungen weitergegeben; 1 beendet jede Prüfung beim ersten Befund
ReportFormat0 = XML, 1 = JSON.

Rückgabewerte

Empty stringDie Eingabedatei ist nicht vorhanden.
ReportDas vollständige Berichtsdokument

Anmerkungen

Wenn mehrere Standards ausgewählt sind, wird die Datei einmal analysiert, und beide Prüfungen verwenden denselben Reader, Sicherheitszustand, Dokumentobjektgraphen und verzögerten Objektcache

Jeder Befund enthält die Regel-ID, den zugehörigen Standard (ISO 19005-1 oder ISO 14289-1), einen kurzen maschinenlesbaren Regelnamen, den durch die Regel durchgesetzten ISO-Abschnitt, einen Schweregrad und die Anzahl betroffener Objekte. Jedes Prüfelement endet mit seinem eigenen Ergebnis und seiner Problemanzahl; der Bericht endet mit einer Zusammenfassung, die das Dokumenturteil, die Gesamtanzahl der Probleme sowie die Anzahl bestandener und fehlgeschlagener Prüfungen enthält

Ein nicht angeforderter Standard wird als not-checked und nicht als bestandene Prüfung gemeldet, damit ein Lauf, der nur einen Standard abdeckte, nicht fälschlich als einwandfrei gilt

Dies unterscheidet sich von CreatePreflightReportEx, das zunächst einen für Menschen lesbaren Bericht rendert und diesen Text anschließend in JSON, HTML oder CSV konvertiert. Der Validierungsbericht wird aus der rohen Prüfausgabe zusammengestellt, sodass eine Build-Pipeline anhand einer Regel-ID oder ISO-Klausel entscheiden kann, statt Teilzeichenfolgen in einem Satz abzugleichen.

Beispiel

Report:= PDF.CreateValidationReport('invoice.pdf', '', 0, 0, 1);
if Pos('"result": "failed"', Report)> 0 then
  ShowMessage('the file did not pass validation');

Siehe auch

CreateValidationPipelineReport, SaveValidationReport, CheckFileCompliance, CreatePreflightReport, CreatePreflightReportEx