CreateValidationReport
Compliance
Beschrijving
Bouwt een gestructureerd PDF/A- en PDF/UA-1-validatierapport in XML of JSON, met bij elke bevinding de ISO-clausule en statistieken
Syntaxis
Delphi
Function TPDFlib.CreateValidationReport(Const InputFileName, Password: WideString; ComplianceTests, Options, ReportFormat: Integer): WideString;Parameters
| InputFileName | Het te valideren PDF-bestand |
|---|---|
| Password | Het wachtwoord dat nodig is om het bestand te openen, of een lege string |
| ComplianceTests | Bitmasker dat de controles kiest: 1 = PDF/A, 2 = PDF/UA-1, 0 = beide |
| Options | Wordt aan de controles doorgegeven; 1 stopt bij de eerste bevinding van elke controle |
| ReportFormat | 0 = XML, 1 = JSON |
Return values
| Empty string | Het invoerbestand bestaat niet |
|---|---|
| Report | Het complete rapportdocument |
Remarks
Als meerdere standaarden zijn geselecteerd, wordt het bestand één keer geparsed en delen beide audits dezelfde reader, beveiligingsstatus, objectgrafiek van het document en lazy object cache
Elke bevinding draagt de regel-ID, de standaard die de regel bezit (ISO 19005-1 of ISO 14289-1), een korte machineleesbare regelnaam, de ISO-clausule die de regel afdwingt, een ernst en het aantal getroffen objecten. Elk controle-element sluit af met zijn eigen resultaat en bevindingentelling, en het rapport eindigt met een samenvatting met het documentoordeel, het totaal aan bevindingen en het aantal geslaagde en gefaalde controles
A standard that was not requested is reported as not-checked rather than as a passing check, so a run that covered only one standard cannot be mistaken for a clean bill of health.
Dit verschilt van CreatePreflightReportEx, dat eerst een voor mensen leesbaar rapport rendert en die tekst daarna omzet in JSON, HTML of CSV. Het validatierapport wordt samengesteld uit de onbewerkte uitvoer van de controles, zodat een buildpipeline kan blokkeren op een rule-id of een ISO-clausule in plaats van substrings in een zin te matchen
Voorbeeld
Report:= PDF.CreateValidationReport('invoice.pdf', '', 0, 0, 1);
if Pos('"result": "failed"', Report)> 0 then
ShowMessage('the file did not pass validation');Zie ook
CreateValidationPipelineReport, SaveValidationReport, CheckFileCompliance, CreatePreflightReport, CreatePreflightReportEx