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, що посилається на вбудований профіль ICC через /DestOutputProfileOptions.IccProfileData для комерційного друку)Трейлер переписується, щоб додати масив /ID. Вивід
залишається побайтово ідентичним результату базового SaveAs аж до
кінця початкового PDF; додається лише інкрементне оновлення. Два
перевантаження відрізняються лише способом передачі конфігурації:
форма лише з ім’ям файлу використовує TPdfXSaveOptions.Default
(PDF/X-4 + sRGB + /Trapped /False) з автоматичним
заповненням полів Info / DocumentId з FPDF_GetMetaText і
FPDF_GetFileIdentifier
Повертає True у разі успіху. Повертає False,
якщо базовий SaveAs завершився невдало або якщо інкрементне
оновлення не вдалося додати
Options.IccProfileData байти ICC для характеристики цільової друкарської машини (FOGRA39, ISO Coated v2, GRACoL2006_Coated1v2, JapanColor2011Coated, ін.) і відповідно оновіть OutputConditionIdentifier / RegistryName / OutputIntentInfoSaveAs(..., saRemoveSecurity) на зашифрованих джерелах перед SaveAsPdfXOptions.Conformance, але не може застосувати ці правила рівня вмісту. Підтвердьте переддрукарською перевіркою
// 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;