function ValidatePdfR: TPdfRValidationResult; overload;
function ValidatePdfR(const Options: TPdfRValidationOptions): TPdfRValidationResult; overload;
ValidatePdfR kombinerar en kontroll av råfilen med ett live-pass över PDFium-sidobjekt för ISO 23504-1:2020
%PDF-raster-x.y, tillåtna headerfält, förbud mot object streams, vitlistor för catalog- och Info-dictionary, XMP-metadata, obligatoriska datum och trailer-/ID/V- och /R-profiler som stöds när framtvingande av krypterad profil är aktiveratTPdfRValidationOptions.Default kontrollerar 72 till 2400 DPI, tillåter en geometritolerans på 0,5 punkter, kräver en helsidig strip och framtvingar den krypterade PDF 2.0-profilen
Resultatet är en post av typen TPdfRValidationResult:
prc1 (PDF/R-1-markör hittad), prcNone (ingen markör) eller prcUnknown (tolkningen misslyckades eller dokumentet är inaktivt)TPdfRValidationIssues som omfattar filmarkörer, metadata, krypteringsprofil, rasterrent innehåll, geometri, färg, upplösning och komprimeringsparametrarConformance är en verklig PDF/R-nivå och Issues är tomMetoden är skrivskyddad och återställer anroparens aktiva sida efter valideringen
ValidatePdfR på ett inaktivt dokument returnerar prcUnknown utan några rapporterade problem
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;