function ValidatePdfX: TPdfXValidationResult;
ValidatePdfX percorre il documento aperto alla ricerca dei marcatori di formato file e delle regole di contenuto selezionate definite dalla famiglia ISO 15930
pdfxid:GTS_PDFXVersion (e facoltativamente pdfxid:GTS_PDFXConformance per PDF/X-1a / PDF/X-3)pdfaExtension:schemas per il namespace pdfxid (convenzione extension-schema di XMP)/GTS_PDFXVersion nel Document Information Dictionary con lo stesso valore della proprietà XMP/OutputIntents nel catalogo che referenzia un dizionario OutputIntent con un profilo ICC incorporato tramite /DestOutputProfileprtr / CMYK supportati, inclusi un PCS Lab o XYZ e le LUT bidirezionali richieste, e il suo stream deve dichiarare /N 4/Title nel dizionario Info (fortemente raccomandata da PDF/X)/ID nel trailer e l'assenza di /Encrypt (la crittografia è vietata da tutte le versioni di PDF/X)xmp:CreateDate e xmp:ModifyDate in XMP per la parità Info / XMPpvxiInvalidOutputProfile segnala un profilo di output PDF/X-1a non supportato, malformato o incompatibile con questi requisiti, incluso un profilo RGB mascherato da /N 4 o con un numero di componenti errato
Sia il validatore sparse sia quello di compatibilità eseguono questo controllo; un riferimento /DestOutputProfile da solo non stabilisce più un profilo PDF/X-1a accettabile
Il risultato è un record TPdfXValidationResult:
pxc1a, pxc3, pxc4 o pxc6; pxcNone e pxcUnknown non stabiliscono un livello PDF/X riconosciutoTPdfXValidationIssues che copre metadati, parità del dizionario Info, forma dell'OutputIntent, crittografia, contenuto attivo vietato, incorporamento dei font, restrizioni su trasparenza e spazi colore, presenza del TrimBox, geometria dei page box e stato trappedConformance è un livello PDF/X reale e Issues è vuotoValidatePdfX è un'ispezione in sola lettura. Usarlo prima di inviare un
payload PDF/X a un flusso di lavoro di prestampa per evidenziare
al gestore la non conformità. Per il comune controllo "che livello PDF/X è questo?"
che non richiede l'elenco dei problemi, preferire la proprietà più leggera
PdfXConformance
pvxiInfoVersionMismatch solo quando Info /GTS_PDFXVersion e XMP pdfxid:GTS_PDFXVersion sono entrambi presenti e non concordanoConformance = pxcUnknown e un insieme Issues vuotoPDF/X-1, PDF/X-3, PDF/X-4 o PDF/X-6; il solo riconoscimento del marcatore non è un verdetto di 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;