function SaveAsPdfX(const FileName: string): Boolean; overload;
function SaveAsPdfX(const FileName: string; const Options: TPdfXSaveOptions): Boolean; overload;
SaveAsPdfX ابتدا SaveAs معمولی را اجرا میکند، سپس یک بهروزرسانی افزاینده را روی بایتهای ذخیرهشده لایهگذاری میکند که فایل را به انطباق PDF/X ارتقا میدهد — خانوادهٔ ISO 15930 از استانداردهای تبادل چاپ که در صنعت گرافیک به کار میروند. پسپردازش پنج رده بایت را به جریان ذخیرهشده تزریق میکند:
pdfxid:GTS_PDFXVersion، بهعلاوهٔ pdfxid:GTS_PDFXConformance برای PDF/X-1a / PDF/X-3) بهعلاوهٔ توصیف pdfaExtension:schemas متناظر برای فضاینام pdfxid، و ویژگیهای پلزدهٔ Dublin Core / xmp / pdf برای Title / Author / Producer / تاریخها/GTS_PDFXVersion الزامی، /GTS_PDFXConformance اختیاری (فقط PDF/X-1a / PDF/X-3؛ PDF/X-4 این مدخل را منسوخ میکند) و یک نام /Trapped (پیشفرض /False) را میافزاید. مدخلهای Info موجود (Title / Author / Subject / غیره) حفظ میشوند/Metadata N 0 R و /OutputIntents [M 0 R]/Type /OutputIntent /S /GTS_PDFX و مدخلهای لازم /OutputCondition / /OutputConditionIdentifier / /RegistryName / /Info، که از طریق /DestOutputProfile به یک نمایهٔ ICC نهفته ارجاع میدهدOptions.IccProfileData فراهم کند)trailer برای افزودن یک آرایهٔ /ID بازنویسی میشود. خروجی تا پایان PDF اصلی از نظر بایتی با نتیجهٔ SaveAs پایه یکسان میماند؛ تنها بهروزرسانی افزاینده الحاق میشود. دو overload تنها در نحوهٔ ارسال پیکربندی تفاوت دارند: شکل فقط-نامفایل از TPdfXSaveOptions.Default (PDF/X-4 + sRGB + /Trapped /False) با پرشدن خودکار فیلدهای Info / DocumentId از FPDF_GetMetaText و FPDF_GetFileIdentifier استفاده میکند
در صورت موفقیت True برمیگرداند. اگر SaveAs پایه شکست بخورد یا بهروزرسانی افزاینده نتواند الحاق شود، False برمیگرداند
Options.IccProfileData را با بایتهای ICC مشخصهٔ چاپگر هدف (FOGRA39، ISO Coated v2، GRACoL2006_Coated1v2، JapanColor2011Coated و غیره) فراهم کنید و OutputConditionIdentifier / RegistryName / OutputIntentInfo را متناسب بهروزرسانی کنیدSaveAs(..., saRemoveSecurity) را فراخوانی کنیدOptions.Conformance را میچسباند اما نمیتواند این قواعد سطح محتوایی را اعمال کند. از طریق 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;