function SaveAsPdfXToStream(Stream: TStream; const Options: TPdfXSaveOptions): Boolean;
SaveAsPdfXToStream є потоковим аналогом
SaveAsPdfX — ті самі вихідні байти записуються в
будь-який наданий викликувачем TStream із підтримкою
позиціонування. Корисно для інтеграції переддрукарських робочих
процесів, де дані PDF/X надсилаються прямо в портали подання на
друк, системи MIS / обліку завдань, колонки BLOB, контейнери ZIP
або конвеєри HTTP-вивантаження
Постобробка ідентична SaveAsPdfX: вставлення XMP з
ідентифікатором pdfxid та описом схеми розширення, переписування
Document Information Dictionary з GTS_PDFXVersion /
GTS_PDFXConformance / Trapped, оновлення каталогу з посиланнями
/Metadata і /OutputIntents, словник OutputIntent з /S /GTS_PDFX і
вбудованим профілем ICC та масив /ID у трейлері. Поля Options,
залишені порожніми, автоматично заповнюються з
FPDF_GetMetaText / FPDF_GetFileIdentifier
Повертає True у разі успіху. Вихідний потік лишається
на позиції після останнього записаного байта. Повертає
False, якщо базовий SaveAs завершився невдало або
постобробку не вдалося додати
Options.IccProfileData + OutputConditionIdentifier для комерційних робочих процесів CMYK
var
Stream: TMemoryStream;
Opts: TPdfXSaveOptions;
begin
Stream := TMemoryStream.Create;
try
Opts := TPdfXSaveOptions.Default;
Opts.Conformance := pxc4;
Opts.Title := 'Spring Catalogue 2026';
if Pdf1.SaveAsPdfXToStream(Stream, Opts) then
begin
Stream.Position := 0;
SubmitToPrinter(Stream);
end;
finally
Stream.Free;
end;
end;