function ValidatePdfX: TPdfXValidationResult;
ValidatePdfX parcourt le document ouvert à la recherche des marqueurs de format de fichier et des règles de contenu sélectionnées définies par la famille ISO 15930
pdfxid:GTS_PDFXVersion (et facultativement pdfxid:GTS_PDFXConformance pour PDF/X-1a / PDF/X-3)pdfaExtension:schemas pour l’espace de noms pdfxid (convention de schéma d’extension XMP)/GTS_PDFXVersion dans le Document Information Dictionary avec la même valeur que la propriété XMP/OutputIntents du catalogue référençant un dictionnaire OutputIntent avec un profil ICC intégré via /DestOutputProfileprtr / CMYK pris en charge, avec un PCS Lab ou XYZ et les LUT bidirectionnelles requises, et son flux doit déclarer /N 4/Title dans le dictionnaire Info (fortement recommandée par PDF/X)/ID de trailer et l’absence de /Encrypt (le chiffrement est interdit par toutes les versions PDF/X)xmp:CreateDate et xmp:ModifyDate dans XMP pour la parité Info / XMPpvxiInvalidOutputProfile signale un profil de sortie PDF/X-1a non pris en charge, mal formé ou incompatible avec ces exigences, y compris un profil RGB déguisé par /N 4 ou un nombre de composantes incorrect
Le validateur épars comme le validateur de compatibilité effectuent ce contrôle ; une simple référence /DestOutputProfile n’établit plus à elle seule un profil PDF/X-1a acceptable
Le résultat est un enregistrement TPdfXValidationResult :
pxc1a, pxc3, pxc4 ou pxc6 ; pxcNone et pxcUnknown n’établissent pas un niveau PDF/X reconnuTPdfXValidationIssues couvrant les métadonnées, la parité du dictionnaire Info, la forme de l’OutputIntent, le chiffrement, le contenu actif interdit, l’intégration des polices, les restrictions de transparence et d’espaces de couleur, la présence du TrimBox, la géométrie des page boxes et l’état trappedConformance est un vrai niveau PDF/X et que Issues est videValidatePdfX est une inspection en lecture seule. Utilisez-la avant de pousser un
contenu PDF/X dans un flux de prépresse pour faire remonter la non-conformité
à l’opérateur. Pour le contrôle courant « quel est ce niveau PDF/X ? »
qui n’a pas besoin de la liste de problèmes, préférez la propriété plus légère
PdfXConformance
pvxiInfoVersionMismatch uniquement lorsque Info /GTS_PDFXVersion et XMP pdfxid:GTS_PDFXVersion sont tous deux présents et en désaccordConformance = pxcUnknown et un ensemble Issues videPDF/X-1, PDF/X-3, PDF/X-4 ou PDF/X-6 ; la seule reconnaissance du marqueur ne constitue pas un verdict de conformité
uses System.TypInfo;
var
Outcome: TPdfXValidationResult;
Issue: TPdfXValidationIssue;
begin
Pdf1.FileName := 'C:\Incoming\ad.pdf';
Pdf1.Active := True;
Outcome := Pdf1.ValidatePdfX;
Memo1.Lines.Add('Level: ' + GetEnumName(TypeInfo(TPdfXConformance),
Ord(Outcome.Conformance)));
for Issue in Outcome.Issues do
Memo1.Lines.Add('- ' + GetEnumName(TypeInfo(TPdfXValidationIssue), Ord(Issue)));
end;