PDFium Delphi Component Docs

SaveAsPdfEToStream メソッド

コンポーネント: TPdf  ·  ユニット: PDFium
SaveAsPdfE のインメモリバリアント — PDF/E-1 出力をディスクを経由せずに任意の TStream へ書き込みます

Syntax

function SaveAsPdfEToStream(Stream: TStream; const Options: TPdfESaveOptions): Boolean;

Description

SaveAsPdfEToStream は SaveAsPdfE のストリーミング版です。同じ PDF/E-1 出力を生成しますが、呼び出し側が提供するシーク可能な TStream へ結果を書き込みます。PDF/E ペイロードをディスクに触れさせずに PLM / PDM システム、BLOB 列、アーカイブコンテナー、HTTP アップロードパイプラインへ直接プッシュするエンジニアリングワークフロー統合に有用です

後処理ロジックは SaveAsPdfE(FileName, Options) と同じです。基本の SaveAs が最初に実行され、インクリメンタルアップデートが XMP メタデータストリーム(pdfe:ISO_PDFEVersion と拡張スキーマ記述を含む)を注入し、必須の /ISO_PDFEVersion (PDF/E-1) エントリを追加するために Document Information Dictionary を書き換え、新しい XMP を参照するようにカタログを更新し、新しい /ID 配列を持つトレーラーを発行します。空のままの Options フィールドは PDFium リーダー(FPDF_GetMetaText、FPDF_GetFileIdentifier)から自動的に穴埋めされるため、典型的な呼び出し側は既定以外の Part / Amd / Corr 値のために Version フィールドのみを上書きします

成功すると True を返します。出力ストリームは最後に書き込んだバイトの後の位置に残ります。基本の SaveAs が失敗した場合、または後処理を付加できなかった場合は False を返します

Remarks

Example

var
  Stream: TMemoryStream;
  Opts: TPdfESaveOptions;
begin
  Stream := TMemoryStream.Create;
  try
    Opts := TPdfESaveOptions.Default;
    Opts.Producer := 'CAD-Workflow 2026';
    if Pdf1.SaveAsPdfEToStream(Stream, Opts) then
    begin
      Stream.Position := 0;
      PushToPLM(Stream);
    end;
  finally
    Stream.Free;
  end;
end;

See Also

SaveAsPdfE, ValidatePdfE, PdfEConformance, SaveAs