function ValidatePdfX: TPdfXValidationResult;
ValidatePdfX käsittelee avoimen dokumentin läpi etsien ISO 15930 -perheen määrittelemät tiedostomuotomerkit ja valitut sisältösäännöt
pdfxid:GTS_PDFXVersion-tiedon (ja valinnaisesti pdfxid:GTS_PDFXConformance-tiedon PDF/X-1a- tai PDF/X-3-muotoa varten)pdfaExtension:schemas-kuvaus (XMP-laajennusskeemakäytäntö)/GTS_PDFXVersion, jonka arvo on sama kuin XMP-ominaisuuden/OutputIntents-taulukko, joka viittaa OutputIntent-sanakirjaan, jolla on upotettu ICC-profiili arvon /DestOutputProfile kautta/Title-tietue (PDF/X suosittelee sitä vahvasti)/ID-taulukko ja /Encrypt:n puuttuminen (kaikki PDF/X-versiot kieltävät salauksen)xmp:CreateDate- ja xmp:ModifyDate-tiedot XMP:ssä Info/XMP-yhteensopivuuden vuoksiTulos on TPdfXValidationResult-tietue:
pxc1a (täsmää merkkijonon "PDF/X-1" kanssa), pxc3 ("PDF/X-3"), pxc4 ("PDF/X-4"), pxcNone (ei PDF/X-merkkiä) tai pxcUnknown (merkki läsnä, mutta tunnistamaton)TPdfXValidationIssues-joukko, joka kattaa metadatan, Info-sanakirjan yhtenevyyden, OutputIntentin muodon, salauksen, kielletyn aktiivisen sisällön, fonttien upotukset, läpinäkyvyyden ja väriavaruuksien rajoitukset, TrimBoxin läsnäolon, sivulaatikon geometrian ja trapped-tilanConformance on oikea PDF/X-taso ja Issues on tyhjäValidatePdfX on vain luku -tyyppinen tutkimus. Käytä sitä ennen PDF/X-aineiston työntämistä painoedeltuotyöhön, jotta vaatimustenmukaisuuspoikkeamat tulevat operaattorin tietoon. Yleiseen "mikä tämän PDF/X-taso on?" -tarkistukseen, joka ei tarvitse ongelmalistaa, sopii paremmin kevyempi PdfXConformance-ominaisuus
pvxiInfoVersionMismatch vain, kun sekä Info /GTS_PDFXVersion että XMP pdfxid:GTS_PDFXVersion ovat läsnä ja eroavat toisistaanConformance = pxcUnknown ja tyhjä Issues-joukkopxcUnknown
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;