PDFium Component Docs

SaveAsPdfEToStream Método

Componente: TPdf  ·  Unidad: PDFium
Variante en memoria de SaveAsPdfE — escribe la salida PDF/E-1 en cualquier TStream sin pasar por disco.

Syntax

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

Description

SaveAsPdfEToStream es la contraparte de flujo de SaveAsPdfE — produce la misma salida PDF/E-1 pero escribe el resultado en cualquier TStream que admita posicionamiento y que proporcione quien llama Útil para la integración de flujos de trabajo de ingeniería donde las cargas PDF/E se envían directamente a sistemas PLM / PDM, columnas BLOB, contenedores de archivo o canalizaciones de carga HTTP sin tocar el disco.

La lógica de posprocesamiento es idéntica a SaveAsPdfE(FileName, Options): primero se ejecuta el SaveAs base, luego una actualización incremental inyecta el flujo de metadatos XMP (con pdfe:ISO_PDFEVersion y la descripción del esquema de extensión), reescribe el Document Information Dictionary para añadir la entrada obligatoria /ISO_PDFEVersion (PDF/E-1), actualiza el catálogo para referenciar el nuevo XMP y emite un trailer con un arreglo /ID nuevo. Los campos de Options que se dejen vacíos se autorrellenan a partir de los lectores de PDFium (FPDF_GetMetaText, FPDF_GetFileIdentifier), por lo que un llamador típico solo necesita invalidar el campo Version para valores no predeterminados de Part / Amd / Corr.

Devuelve True en caso de éxito. El flujo de salida queda en la posición después del último byte escrito. Devuelve False si el SaveAs base falló o si el posprocesamiento no pudo adjuntarse.

Remarks

Example

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;

See Also

SaveAsPdfE, ValidatePdfE, PdfEConformance, SaveAs