function SaveAsPdfEToStream(Stream: TStream; const Options: TPdfESaveOptions): Boolean;
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 を返します
/ISO_PDFEVersion のみを追加します。既存の PDF/E バージョン値は置換されます
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;