function SaveAsPdfEToStream(Stream: TStream; const Options: TPdfESaveOptions): Boolean;
SaveAsPdfEToStream is the streaming counterpart to
SaveAsPdfE — it produces the same PDF/E-1 output
but writes the result into any seekable TStream the caller provides
Useful for engineering workflow integration where PDF/E payloads are
pushed straight into PLM / PDM systems, BLOB columns, archive
containers, or HTTP upload pipelines without touching disk.
İşlem sonrası mantığı SaveAsPdfE(FileName, Options) ile aynıdır: önce temel SaveAs çalışır, ardından artımlı bir güncelleme XMP metadata stream'ini ekler (pdfe:ISO_PDFEVersion ve extension schema açıklamasıyla), Document Information Dictionary'yi zorunlu /ISO_PDFEVersion (PDF/E-1) girdisini ekleyecek şekilde yeniden yazar, kataloğu yeni XMP'yi gösterecek biçimde günceller ve taze bir /ID array taşıyan trailer üretir. Boş bırakılan Options alanları PDFium readers (FPDF_GetMetaText, FPDF_GetFileIdentifier) üzerinden otomatik doldurulur; bu yüzden tipik çağıran yalnızca varsayılan dışı Part / Amd / Corr değerleri için Version alanını değiştirir
Döndürür: başarı durumunda True. Output stream son yazılan bayttan sonraki konumda bırakılır. Döndürür: temel SaveAs başarısız olursa ya da post-processing eklenemezse False
/ISO_PDFEVersion ekler. Var olan PDF/E sürüm değerleri değiştirilirTMemoryStream kullanın; elde edilen baytlar doğrudan bir content store'a geçirilebilir
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;