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
| InputFileName | Die zu validierende PDF-Datei |
|---|---|
| Password | Das zum Öffnen der Datei erforderliche Kennwort oder eine leere Zeichenfolge |
| ComplianceTests | Bitmaske zur Auswahl der Prüfungen: 1 = PDF/A, 2 = PDF/UA-1, 0 = beide |
| Options | Wird an die Prüfungen weitergegeben; 1 beendet jede Prüfung beim ersten Befund |
| ReportFormat | 0 = XML, 1 = JSON. |
Rückgabewerte
| Empty string | Die Eingabedatei ist nicht vorhanden. |
|---|---|
| Report | Das 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