function SaveAsPdfEToStream(Stream: TStream; const Options: TPdfESaveOptions): Boolean;
SaveAsPdfEToStream on SaveAsPdfE:n virtaava vastine
— se tuottaa saman PDF/E-1-tuloksen mutta kirjoittaa lopputuloksen
kutsujan antamaan mihin tahansa TStreamiin, joka tukee siirtymiä. Hyödyllinen
teknisten työnkulkujen integrointiin, jossa PDF/E-sisällöt
työnnetään suoraan PLM- / PDM-järjestelmiin, BLOB-sarakkeisiin, arkisto-
säiliöihin tai HTTP-lähetysputkiin koskematta levyyn
Jälkikäsittelylogiikka on identtinen SaveAsPdfE(FileName, Options)
-kutsun kanssa: ensin ajetaan perus-SaveAs, sitten inkrementaalinen päivitys
ruiskuttaa XMP-metatietovirran (pdfe:ISO_PDFEVersion ja laajennusskeeman
kuvauksen kanssa), kirjoittaa Document Information Dictionaryn uudelleen
lisätäkseen pakollisen /ISO_PDFEVersion (PDF/E-1)-merkinnän,
päivittää katalogin viittaamaan uuteen XMP:ään ja tuottaa trailerin
tuoreella /ID-taulukolla. Tyhjiksi jätetyt Options-kentät
täytetään automaattisesti PDFiumin lukuohjelmista (FPDF_GetMetaText,
FPDF_GetFileIdentifier), joten tyypillisen kutsujan tarvitsee
ohittaa Version-kenttä vain ei-oletusarvoisille Part- / Amd- / Corr-arvoille
Palauttaa True onnistuessaan. Tulostevirta jää asentoon heti
viimeisen kirjoitetun tavun jälkeen. Palauttaa False, jos
perus-SaveAs epäonnistui tai jos jälkikäsittelyä ei voitu liittää
/ISO_PDFEVersion-merkinnän. Olemassa olevat PDF/E-versioarvot korvataan
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;