PDFium Delphi Component Docs

SaveAsPdfUaToStream Methode

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

Syntax

function SaveAsPdfUaToStream(Stream: TStream; const Options: TPdfUaSaveOptions): Boolean;

Beschreibung

SaveAsPdfUaToStream ist das Streaming-Gegenstück zu SaveAsPdfUa — sie erzeugt dieselbe PDF/UA-1-Ausgabe, schreibt das Ergebnis aber in einen beliebigen, positionierbaren TStream, den der Aufrufer bereitstellt Nützlich für HTTP-Upload-Pipelines, BLOB-Spalten, In-Memory-Cache- Schichten, Archivcontainer (ZIP / TAR) oder jeden Workflow, bei dem die PDF/UA-Bytes nie die Festplatte berühren müssen

Die Nachbearbeitungslogik ist identisch mit SaveAsPdfUa(FileName, Options): das zugrunde liegende SaveAs läuft zuerst, dann injiziert ein inkrementelles Update den XMP-Metadaten-Stream (mit obligatorischem dc:title gemäß ISO 14289-1 §7.1 und der pdfuaid-Erweiterungs-Schema-Beschreibung), Katalog- /MarkInfo und /ViewerPreferences, wenn die Quelle keine enthält, Katalog-/Lang, wenn der Aufrufer ein BCP 47-Tag geliefert hat, und ein Trailer-/ID-Array. Leergelassene Optionsfelder werden automatisch aus den PDFium-Readern (FPDF_GetMetaText, FPDF_GetFileIdentifier, FPDFCatalog_GetLanguage) gefüllt, sodass der typische Aufrufer nur bei Bedarf DocumentTitle oder Language setzt

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 (typischerweise eine verschlüsselte Quelle)

Hinweise

Beispiel

var
  Stream: TMemoryStream;
  Opts: TPdfUaSaveOptions;
begin
  Stream := TMemoryStream.Create;
  try
    Opts := TPdfUaSaveOptions.Default;
    Opts.DocumentTitle := 'Quarterly Report';
    Opts.Language := 'en';
    if Pdf1.SaveAsPdfUaToStream(Stream, Opts) then
    begin
      Stream.Position := 0;
      UploadToArchive(Stream);
    end;
  finally
    Stream.Free;
  end;
end;

Siehe auch

SaveAsPdfUa, ValidatePdfUa, PdfUaConformance, SaveAs