PDFium Delphi Component Docs

SaveAsPdfXToStream メソッド

コンポーネント: TPdf  ·  ユニット: PDFium
SaveAsPdfX と同じプロファイル規則で、PDF/X 候補を呼び出し側所有のシーク可能なストリームへ書き込みます

Syntax

function SaveAsPdfXToStream(Stream: TStream; const Options: TPdfXSaveOptions): Boolean;

Description

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 を参照してください

Remarks

Example

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;

See Also

SaveAsPdfX, ValidatePdfX, PdfXConformance, SaveAs