function SaveAsPdfEToStream(Stream: TStream; const Options: TPdfESaveOptions): Boolean;
SaveAsPdfEToStream är strömmotsvarigheten till
SaveAsPdfE — den producerar samma PDF/E-1-utmatning
men skriver resultatet till en valfri sökbar TStream som anroparen
tillhandahåller. Användbar för integrering i tekniska arbetsflöden där
PDF/E-nyttolaster pushas direkt till PLM- / PDM-system, BLOB-kolumner,
arkivcontainer eller HTTP-uppladdningspipelines utan att röra disken
Efterbearbetningslogiken är identisk med
SaveAsPdfE(FileName, Options): bas-SaveAs körs
först, därefter injicerar en inkrementell uppdatering
XMP-metadataströmmen (med pdfe:ISO_PDFEVersion och
tilläggsschemabeskrivningen), skriver om Document Information
Dictionary för att lägga till den obligatoriska posten
/ISO_PDFEVersion (PDF/E-1), uppdaterar katalogen så
att den refererar den nya XMP:en och emitterar en trailer med
en färsk /ID-array. Tomma fält i Options fylls i
automatiskt från PDFium-läsare (FPDF_GetMetaText,
FPDF_GetFileIdentifier), så en typisk anropare behöver
bara överskriva fältet Version för värdena Part / Amd / Corr som
avviker från standard
Returnerar True vid lyckat resultat. Utmatningsströmmen
lämnas vid positionen efter den senast skrivna byten. Returnerar
False om bas-SaveAs misslyckades eller om
efterbearbetningen inte kunde bifogas
/ISO_PDFEVersion. Befintliga PDF/E-versionsvärden ersätts
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;