function ValidatePdfX: TPdfXValidationResult;
ValidatePdfX prelazi kroz otvoreni dokument u potrazi za markerima formata datoteke i izabranim pravilima sadržaja definisanim porodicom ISO 15930
pdfxid:GTS_PDFXVersion (i opciono pdfxid:GTS_PDFXConformance za PDF/X-1a / PDF/X-3)pdfaExtension:schemas za pdfxid namespace (konvencija XMP šema proširenja)/GTS_PDFXVersion u Document Information Dictionary sa istom vrednošću kao XMP svojstvo/OutputIntents u katalogu koji referencira OutputIntent rečnik sa ugrađenim ICC profilom preko /DestOutputProfile/Title u Info rečniku (PDF/X ga snažno preporučuje)/ID niz u trailer-u i odsustvo /Encrypt (enkripciju zabranjuju sve PDF/X verzije)xmp:CreateDate i xmp:ModifyDate u XMP-u radi Info / XMP podudarnostiRezultat je zapis TPdfXValidationResult:
pxc1a (poklapa se sa „PDF/X-1“), pxc3 („PDF/X-3“), pxc4 („PDF/X-4“), pxcNone (nema PDF/X markera) ili pxcUnknown (marker prisutan, ali neprepoznat)TPdfXValidationIssues koji pokriva metapodatke, Info-rečnik podudarnost, oblik OutputIntent-a, enkripciju, zabranjeni aktivni sadržaj, ugrađivanje fontova, ograničenja transparentnosti i color space-ova, prisustvo TrimBox-a, geometriju page box-ova i trapped stanjeConformance pravi PDF/X nivo i kada je Issues prazanValidatePdfX je inspekcija koja samo čita. Koristite je pre nego što
PDF/X sadržaj pošaljete u prepress tok, da operateru iskažete
neusklađenost. Za uobičajenu proveru „koji je ovo PDF/X
nivo?“ koja ne treba listu problema, koristite lakše
svojstvo PdfXConformance
pvxiInfoVersionMismatch samo kada su i Info /GTS_PDFXVersion i XMP pdfxid:GTS_PDFXVersion prisutni i razlikuju seConformance = pxcUnknown i praznim skupom IssuespxcUnknown
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;