function ValidatePdfR: TPdfRValidationResult; overload;
function ValidatePdfR(const Options: TPdfRValidationOptions): TPdfRValidationResult; overload;
ValidatePdfR combineert een inspectie van het ruwe bestand met een live PDFium-paginaobject-pass voor ISO 23504-1:2020
%PDF-raster-x.y, toegestane headers, het verbod op object streams, de white lists voor catalogus en Info-dictionary, XMP-metadata, vereiste datums en de trailer-/ID/V- en /R-profielen wanneer handhaving van het versleutelde profiel is ingeschakeldTPdfRValidationOptions.Default controleert 72 tot en met 2400 DPI, staat een geometrietolerantie van 0,5 point toe, vereist een full-page strip en handhaaft het versleutelde PDF 2.0-profiel
Het resultaat is een TPdfRValidationResult-record:
prc1 (PDF/R-1-marker gevonden), prcNone (geen marker) of prcUnknown (parsing mislukt of document inactief)TPdfRValidationIssues-verzameling die bestandsmarkers, metadata, versleutelingsprofiel, raster-only-content, geometrie, kleur, resolutie en compressieparameters dektConformance een echt PDF/R-niveau is en Issues leeg isDe methode is alleen-lezen en herstelt na de validatie de actieve pagina van de aanroeper
ValidatePdfR aanroepen op een inactief document geeft prcUnknown terug met een lege verzameling problemen
uses System.TypInfo;
var
Outcome: TPdfRValidationResult;
Issue: TPdfRValidationIssue;
begin
Pdf1.FileName := 'C:\Incoming\scan.pdf';
Pdf1.Active := True;
Outcome := Pdf1.ValidatePdfR;
Memo1.Lines.Add('Level: ' + GetEnumName(TypeInfo(TPdfRConformance),
Ord(Outcome.Conformance)));
for Issue in Outcome.Issues do
Memo1.Lines.Add('- ' + GetEnumName(TypeInfo(TPdfRValidationIssue), Ord(Issue)));
end;