PDFium Delphi Component Docs

SaveAsPdfUaToStream Méthode

Composant: TPdf  ·  Unit: PDFium
Variante en mémoire de SaveAsPdfUa — écrit la sortie PDF/UA-1 dans tout TStream sans mise en scène sur disque

Syntax

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

Description

SaveAsPdfUaToStream est le pendant de streaming de SaveAsPdfUa — il produit la même sortie PDF/UA-1 mais écrit le résultat dans n’importe quel TStream positionnable fourni par l’appelant. Utile pour les pipelines de téléversement HTTP, les colonnes BLOB, les couches de cache en mémoire, les conteneurs d’archive (ZIP / TAR), ou tout flux de travail où les octets PDF/UA n’ont jamais besoin de toucher le disque

La logique de post-traitement est identique à SaveAsPdfUa(FileName, Options) : le SaveAs de base s’exécute d’abord, puis une mise à jour incrémentale injecte le flux de métadonnées XMP (avec le dc:title obligatoire selon ISO 14289-1 §7.1 et la description de schéma d’extension pdfuaid), les /MarkInfo et /ViewerPreferences du catalogue lorsque la source n’en a pas, le /Lang du catalogue lorsque l’appelant a fourni une balise BCP 47, et un tableau /ID de trailer. Les champs d’options laissés vides sont auto-remplis depuis les lecteurs PDFium (FPDF_GetMetaText, FPDF_GetFileIdentifier, FPDFCatalog_GetLanguage) afin que l’appelant typique ne définisse DocumentTitle ou Language que si nécessaire

Renvoie True en cas de succès. Le flux de sortie est laissé à la position après le dernier octet écrit. Renvoie False si le SaveAs de base a échoué ou si le post-traitement n’a pas pu être attaché (généralement une source chiffrée)

Remarks

Example

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;

See Also

SaveAsPdfUa, ValidatePdfUa, PdfUaConformance, SaveAs