function SaveAsPdfXToStream(Stream: TStream; const Options: TPdfXSaveOptions): Boolean;
SaveAsPdfXToStream は SaveAsPdfX のストリーミング版です — 同じ出力バイトを、呼び出し側が提供するシーク可能な TStream へ書き込みます。PDF/X ペイロードが印刷提出ポータル、MIS / ジョブチケッティングシステム、BLOB 列、ZIP コンテナー、HTTP アップロードパイプラインへ直接プッシュされるプレプレスワークフロー統合に有用です
後処理は SaveAsPdfX と同じです。pdfxid 識別子と拡張スキーマ記述を持つ XMP 注入、GTS_PDFXVersion / GTS_PDFXConformance / Trapped での Document Information Dictionary 書き換え、/Metadata と /OutputIntents 参照でのカタログ更新、/S /GTS_PDFX と埋め込み ICC プロファイルを持つ OutputIntent 辞書、トレーラー /ID 配列です。空のままの Options フィールドは FPDF_GetMetaText / FPDF_GetFileIdentifier から自動的に穴埋めされます
シリアライズが完了すると True を返し、出力ストリームは最後に書き込んだバイトの直後に位置します
ドキュメントが非アクティブな場合やベースの保存に失敗した場合は False を返します。戻り値が True でも、完全な PDF/X 準拠の判定にはなりません
pxc1a では、Options.IccProfileData に構造的に有効な ICC v2 prtr 出力プロファイル、つまり CMYK データ、Lab または XYZ の PCS、必要な双方向 LUT を備えたものを指定します
欠落しているデータや適さないデータは、出力先ストリームが変更されるより前に EArgumentException を発生させます
PDF/X-1a では、組み込みの sRGB デフォルトのままになっている output-condition ラベルを、検証済み ICC description で置き換えます
description がない場合は、空でなくデフォルト値でもない明示的な OutputConditionIdentifier が必要で、これが置き換えラベルになります
明示したラベルは保持されます。影響するフィールドは SaveAsPdfX を参照してください
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;