function ValidatePdfR: TPdfRValidationResult; overload;
function ValidatePdfR(const Options: TPdfRValidationOptions): TPdfRValidationResult; overload;
ValidatePdfR combina un'ispezione del file grezzo con un passaggio sugli oggetti di pagina PDFium attivi per ISO 23504-1:2020
%PDF-raster-x.y, le intestazioni consentite, il divieto degli object stream, le white list dei dizionari catalogo e Info, i metadati XMP, le date richieste e il /ID del trailer/V e /R supportati quando l'applicazione del profilo crittografato è abilitataTPdfRValidationOptions.Default verifica da 72 a 2400 DPI, consente una tolleranza geometrica di 0.5 punti, richiede una strip a pagina intera e impone il profilo PDF 2.0 crittografato
Il risultato è un record TPdfRValidationResult:
prc1 (marcatore PDF/R-1 trovato), prcNone (nessun marcatore) o prcUnknown (analisi fallita o documento non attivo).TPdfRValidationIssues che copre marcatori del file, metadati, profilo di crittografia, contenuto solo raster, geometria, colore, risoluzione e parametri di compressioneConformance è un livello PDF/R reale e Issues è vuotoIl metodo è in sola lettura e ripristina la pagina attiva del chiamante dopo la validazione
ValidatePdfR su un documento non attivo restituisce prcUnknown con un insieme di problemi vuoto
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;