function SaveAsPdfX(const FileName: string): Boolean; overload;
function SaveAsPdfX(const FileName: string; const Options: TPdfXSaveOptions): Boolean; overload;
SaveAsPdfX prvo izvodi običan SaveAs, a zatim složi inkrementalnu dopunu povrh sačuvanih bajtova koja datoteku unapređuje na usklađenost sa PDF/X — porodicom ISO 15930 standarda za razmenu štamparskih datoteka koja se koristi u grafičkoj industriji. Post-procesiranje ubacuje pet klasa bajtova u sačuvani tok:
pdfxid:GTS_PDFXVersion, plus pdfxid:GTS_PDFXConformance za PDF/X-1a / PDF/X-3) plus odgovarajući opis pdfaExtension:schemas za pdfxid prostor imena i premošćena Dublin Core / xmp / pdf svojstva za Title / Author / Producer / datume/GTS_PDFXVersion, opcioni /GTS_PDFXConformance (samo PDF/X-1a / PDF/X-3; PDF/X-4 napušta ovaj unos) i ime /Trapped (podrazumevano /False). Postojeći Info unosi (Title / Author / Subject / itd.) se čuvaju/Metadata N 0 R i /OutputIntents [M 0 R]/Type /OutputIntent /S /GTS_PDFX i zahtevanim unosima /OutputCondition / /OutputConditionIdentifier / /RegistryName / /Info, koji upućuje na ugrađeni ICC profil kroz /DestOutputProfileOptions.IccProfileData)Trailer se prepisuje da doda niz /ID. Izlaz ostaje
bajt-identičan rezultatu osnovnog SaveAs do kraja originalnog
PDF-a; dodaje se samo inkrementalna dopuna. Dva preopterećenja
razlikuju se samo u načinu prosleđivanja konfiguracije: oblik samo
sa imenom datoteke koristi TPdfXSaveOptions.Default
(PDF/X-4 + sRGB + /Trapped /False) sa automatskim
popunjavanjem polja Info / DocumentId iz FPDF_GetMetaText
i FPDF_GetFileIdentifier
Vraća True pri uspehu. Vraća False ako
osnovni SaveAs nije uspeo ili ako inkrementalna dopuna nije mogla
da se prikači
Options.IccProfileData sa ICC bajtovima za karakterizaciju ciljne mašine (FOGRA39, ISO Coated v2, GRACoL2006_Coated1v2, JapanColor2011Coated, itd.) i shodno tome ažurirajte OutputConditionIdentifier / RegistryName / OutputIntentInfoSaveAs(..., saRemoveSecurity) pre SaveAsPdfXOptions.Conformance, ali ne može da sprovede ta pravila na nivou sadržaja. Potvrdite preflight proverom
// Simple PDF/X-4 with bundled sRGB OutputIntent
if Pdf1.SaveAsPdfX('C:\AdProof.pdfx.pdf') then
ShowMessage('Saved PDF/X-4');
// PDF/X-1a with a custom CMYK ICC profile (e.g. FOGRA39)
var
Opts: TPdfXSaveOptions;
begin
Opts := TPdfXSaveOptions.Default;
Opts.Conformance := pxc1a;
Opts.IccProfileData := TFile.ReadAllBytes('C:\ICC\FOGRA39.icc');
Opts.OutputCondition := 'Coated FOGRA39 (ISO 12647-2:2004)';
Opts.OutputConditionIdentifier:= 'FOGRA39';
Opts.RegistryName := 'http://www.color.org';
Opts.Trapped := ptFalse;
Pdf1.SaveAsPdfX('C:\AdProof.cmyk.pdfx.pdf', Opts);
end;