PDFium Delphi Component Docs

SaveAsPdfEToStream Methode

Komponente: TPdf  ·  Unit: PDFium
In-Memory-Variante von SaveAsPdfE — schreibt die PDF/E-1-Ausgabe in einen beliebigen TStream, ohne den Umweg über die Festplatte

Syntax

function SaveAsPdfEToStream(Stream: TStream; const Options: TPdfESaveOptions): Boolean;

Beschreibung

SaveAsPdfEToStream ist das Streaming-Gegenstück zu SaveAsPdfE — sie erzeugt dieselbe PDF/E-1-Ausgabe, schreibt das Ergebnis aber in einen beliebigen, positionierbaren TStream, den der Aufrufer bereitstellt Nützlich für die Einbindung in Engineering-Workflows, bei denen PDF/E-Payloads direkt in PLM-/PDM-Systeme, BLOB-Spalten, Archivcontainer oder HTTP-Upload-Pipelines geschoben werden, ohne die Festplatte zu berühren

Die Nachbearbeitungslogik ist identisch mit SaveAsPdfE(FileName, Options): das zugrunde liegende SaveAs läuft zuerst, dann injiziert ein inkrementelles Update den XMP-Metadaten-Stream (mit pdfe:ISO_PDFEVersion und der Erweiterungs-Schema-Beschreibung), schreibt das Document Information Dictionary um, um den obligatorischen /ISO_PDFEVersion (PDF/E-1)-Eintrag hinzuzufügen, aktualisiert den Katalog, damit er auf das neue XMP verweist, und erzeugt einen Trailer mit einem frischen /ID-Array. Leergelassene Optionsfelder werden automatisch aus den PDFium-Readern (FPDF_GetMetaText, FPDF_GetFileIdentifier) gefüllt, sodass ein typischer Aufrufer nur das Version-Feld für nicht standardmäßige Part / Amd / Corr-Werte überschreiben muss

Liefert True bei Erfolg. Der Ausgabe-Stream steht an der Position nach dem letzten geschriebenen Byte. Liefert False, wenn das zugrunde liegende SaveAs fehlschlug oder die Nachbearbeitung nicht angehängt werden konnte

Hinweise

Beispiel

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;

Siehe auch

SaveAsPdfE, ValidatePdfE, PdfEConformance, SaveAs