function SaveAsPdfEToStream(Stream: TStream; const Options: TPdfESaveOptions): Boolean;
SaveAsPdfEToStream은
SaveAsPdfE — 동일한 PDF/E-1 출력을 만들지만 결과를 호출자가 제공한 임의의 seekable TStream에 씁니다. 디스크를 거치지 않고 PDF/E 데이터를 PLM / PDM 시스템, BLOB 열, archive container 또는 HTTP upload pipeline으로 바로 보내는 engineering workflow 통합에 유용합니다
The post-processing logic is identical to
SaveAsPdfE(FileName, Options): the base SaveAs runs
첫째, 그 뒤 저장된 바이트 위에 증분 업데이트를 덧붙여 XMP metadata stream을 주입합니다
(pdfe:ISO_PDFEVersion과 extension schema description 포함), Document Information Dictionary를 다시 써서 필수
/ISO_PDFEVersion (PDF/E-1) 항목을 추가하고, catalog가 새 XMP를 참조하도록 갱신한 뒤, 새 /ID를 가진 trailer를 내보냅니다
빈 상태로 남은 Options field는 PDFium reader(FPDF_GetMetaText, FPDF_GetFileIdentifier)에서 자동으로 채웁니다
so a typical caller need only override the Version field for
non-default Part / Amd / Corr values.
성공하면 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;