function SaveAsPdfEToStream(Stream: TStream; const Options: TPdfESaveOptions): Boolean;
SaveAsPdfEToStream je streamovacím náprotivkom k
SaveAsPdfE — vytvára rovnaký výstup PDF/E-1,
ale výsledok zapisuje do ľubovoľného seekovateľného TStream, ktorý volajúci poskytne
Užitočné pre integráciu inžinierskych pracovných postupov, kde sa obsahy PDF/E
tlačia priamo do systémov PLM / PDM, BLOB stĺpcov, archívnych
kontajnerov alebo HTTP upload rúr bez zásahu na disk
Logika následného spracovania je identická s
SaveAsPdfE(FileName, Options): najprv sa spustí základné SaveAs,
potom inkrementálna aktualizácia vloží stream XMP metadát
(s pdfe:ISO_PDFEVersion a popisom rozširujúcej schémy),
prepíše Document Information Dictionary, aby pridal povinnú položku
/ISO_PDFEVersion (PDF/E-1), aktualizuje katalóg,
aby odkazoval na nové XMP, a vygeneruje trailer s novým poľom /ID
Prázdne polia Options sa automaticky vyplnia z čítačov PDFium
(FPDF_GetMetaText, FPDF_GetFileIdentifier),
takže typický volajúci potrebuje prepísať len pole Version pre
nedefaultné hodnoty Part / Amd / Corr
Vráti True pri úspechu. Výstupný prúd zostane na
pozícii za posledným zapísaným bajtom. Vráti False,
ak základné SaveAs zlyhalo alebo ak sa nepodarilo pripojiť
následné spracovanie
/ISO_PDFEVersion. Existujúce hodnoty verzie PDF/E sa nahradia
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;