function SaveAsPdfX(const FileName: string): Boolean; overload;
function SaveAsPdfX(const FileName: string; const Options: TPdfXSaveOptions): Boolean; overload;
SaveAsPdfX utför först den vanliga SaveAs och lägger sedan en inkrementell uppdatering ovanpå de sparade byten som höjer filen till överensstämmelse med PDF/X — familjen ISO 15930 av standarder för utskriftsutbyte som används inom den grafiska branschen. Efterbearbetningen injicerar fem klasser av byte i den sparade strömmen:
pdfxid:GTS_PDFXVersion, plus pdfxid:GTS_PDFXConformance för PDF/X-1a / PDF/X-3) plus den matchande beskrivningen pdfaExtension:schemas för namnrymden pdfxid, samt övertagna Dublin Core / xmp / pdf-egenskaper för Title / Author / Producer / datum/GTS_PDFXVersion, den valfria posten /GTS_PDFXConformance (endast PDF/X-1a / PDF/X-3; PDF/X-4 föråldrar den här posten) och ett /Trapped-namn (standardvärde /False). Befintliga Info-poster (Title / Author / Subject / etc.) bevaras/Metadata N 0 R och /OutputIntents [M 0 R]/Type /OutputIntent /S /GTS_PDFX och de obligatoriska posterna /OutputCondition / /OutputConditionIdentifier / /RegistryName / /Info, med en referens till en inbäddad ICC-profil via /DestOutputProfileOptions.IccProfileData för kommersiellt tryck)Trailern skrivs om för att lägga till en /ID-array. Utmatningen
förblir byte-identisk med basresultatet från SaveAs fram
till slutet på den ursprungliga PDF-filen; endast den inkrementella
uppdateringen läggs till. De två överlagringarna skiljer sig bara i
hur konfigurationen skickas in: formen med enbart filnamn använder
TPdfXSaveOptions.Default (PDF/X-4 + sRGB +
/Trapped /False) med automatisk ifyllning av Info- /
DocumentId-fält från FPDF_GetMetaText och
FPDF_GetFileIdentifier
Returnerar True vid lyckat resultat. Returnerar
False om bas-SaveAs misslyckades eller om den
inkrementella uppdateringen inte kunde bifogas
Options.IccProfileData med ICC-bytena för målpressens karakterisering (FOGRA39, ISO Coated v2, GRACoL2006_Coated1v2, JapanColor2011Coated etc.) och uppdatera OutputConditionIdentifier / RegistryName / OutputIntentInfo därefterSaveAs(..., saRemoveSecurity) på krypterade källor före SaveAsPdfXOptions.Conformance men kan inte upprätthålla de här reglerna på innehållsnivå. Bekräfta via preflight
// 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;