PDFium Component Docs

SaveAsPdfUaToStream Methode

Dieser API-Eintrag behält Bezeichner, Signaturen, Codeblöcke und PDF-Begriffe in ihrer Originalform.
Komponente: TPdf  ·  Unit: PDFium
In-Memory-Variante von SaveAsPdfUa — schreibt die PDF/UA-1-Ausgabe in jeden TStream, ohne über die Festplatte zu gehen

Syntax

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

Beschreibung

SaveAsPdfUaToStream ist das Streaming-Gegenstück zu SaveAsPdfUa — es erzeugt dieselbe PDF/UA-1-Ausgabe, schreibt das Ergebnis aber in jeden durchsuchbaren 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 auf die Festplatte geschrieben werden müssen

Die Nachbearbeitungslogik ist identisch zu SaveAsPdfUa(FileName, Options): Zuerst läuft das Basis- SaveAs, danach fügt ein inkrementelles Update den XMP-Metadatenstrom ein (mit dem erforderlichen dc:title nach ISO 14289-1 §7.1 und der Beschreibung des pdfuaid- Erweiterungsschemas), ergänzt /MarkInfo und /ViewerPreferences im Katalog, wenn die Quelle keine hat, ergänzt /Lang im Katalog, wenn der Aufrufer ein BCP-47-Tag geliefert hat, und schreibt ein /ID-Array in den Trailer. Leere Optionsfelder werden aus den PDFium-Lesern (FPDF_GetMetaText, FPDF_GetFileIdentifier, FPDFCatalog_GetLanguage) automatisch befüllt, sodass der typische Aufrufer nur DocumentTitle oder Language setzen muss, falls nötig

Gibt bei Erfolg True zurück. Der Ausgabestream bleibt an der Position nach dem zuletzt geschriebenen Byte. Gibt False zurück, wenn das Basis-SaveAs fehlschlägt oder die Nachbearbeitung nicht angehängt werden kann (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