PDFium Delphi Component Docs

SaveAsPdfEToStream Metodo

Componente: TPdf  ·  Unità: PDFium
Variante in memoria di SaveAsPdfE, scrive l'output PDF/E-1 in qualsiasi TStream senza passare dal disco

Syntax

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

Description

SaveAsPdfEToStream è la controparte streaming di SaveAsPdfE — produce lo stesso output PDF/E-1 ma scrive il risultato in qualsiasi TStream seekable fornito dal chiamante Utile per l'integrazione nei flussi di lavoro di ingegneria in cui i payload PDF/E vengono inviati direttamente a sistemi PLM / PDM, colonne BLOB, contenitori di archivio o pipeline di upload HTTP senza toccare il disco

La logica di post-processing è identica a quella di SaveAsPdfE(FileName, Options): prima gira il SaveAs base, poi un aggiornamento incrementale inietta lo stream di metadati XMP (con pdfe:ISO_PDFEVersion e la descrizione dello schema di estensione), riscrive il Document Information Dictionary per aggiungere la voce obbligatoria /ISO_PDFEVersion (PDF/E-1), aggiorna il catalogo perché referenzi il nuovo XMP, ed emette un trailer con un nuovo array /ID. I campi Options lasciati vuoti vengono auto-popolati dai lettori di PDFium (FPDF_GetMetaText, FPDF_GetFileIdentifier), così un chiamante tipico deve intervenire sul campo Version solo per valori Part / Amd / Corr non predefiniti

Restituisce True in caso di successo. Lo stream di output resta posizionato dopo l'ultimo byte scritto. Restituisce False se il SaveAs base è fallito o se il post-processing non ha potuto essere applicato

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