function ValidatePdfR: TPdfRValidationResult; overload;
function ValidatePdfR(const Options: TPdfRValidationOptions): TPdfRValidationResult; overload;
ValidatePdfR combine une inspection du fichier brut avec une passe live des objets de page PDFium pour ISO 23504-1:2020
%PDF-raster-x.y, les en-têtes permis, l’interdiction des object streams, les listes blanches des dictionnaires catalogue et Info, les métadonnées XMP, les dates requises et le /ID de trailer/V et /R pris en charge lorsque l’application du profil chiffré est activéeTPdfRValidationOptions.Default contrôle de 72 à 2400 DPI, tolère une tolérance géométrique de 0.5 point, exige une bande pleine page et applique le profil PDF 2.0 chiffré
Le résultat est un enregistrement TPdfRValidationResult :
prc1 (marqueur PDF/R-1 trouvé), prcNone (aucun marqueur) ou prcUnknown (échec de l’analyse ou document inactif)TPdfRValidationIssues couvrant les marqueurs de fichier, les métadonnées, le profil de chiffrement, le contenu exclusivement raster, la géométrie, la couleur, la résolution et les paramètres de compressionConformance est un vrai niveau PDF/R et que Issues est videLa méthode est en lecture seule et restaure la page active de l’appelant après la validation
ValidatePdfR sur un document inactif renvoie prcUnknown avec un ensemble de problèmes vide
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;