PDFium Delphi Component Docs

SaveAsPdfUaToStream Metodo

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

Syntax

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

Description

SaveAsPdfUaToStream è la controparte streaming di SaveAsPdfUa — produce lo stesso output PDF/UA-1 ma scrive il risultato in qualsiasi TStream seekable fornito dal chiamante Utile per pipeline di upload HTTP, colonne BLOB, layer di cache in memoria, contenitori di archivio (ZIP / TAR), o qualsiasi flusso di lavoro in cui i byte PDF/UA non debbano mai toccare il disco

La logica di post-processing è identica a quella di SaveAsPdfUa(FileName, Options): prima gira il SaveAs base, poi un aggiornamento incrementale inietta lo stream di metadati XMP (con il dc:title obbligatorio secondo ISO 14289-1 §7.1 e la descrizione dello schema di estensione pdfuaid), i /MarkInfo e /ViewerPreferences del catalogo quando la sorgente non li ha, il /Lang del catalogo quando il chiamante fornisce un tag BCP 47, e un array /ID nel trailer. I campi Options lasciati vuoti si auto-popolano dai lettori di PDFium (FPDF_GetMetaText, FPDF_GetFileIdentifier, FPDFCatalog_GetLanguage) così il chiamante tipico imposta solo DocumentTitle o Language se serve

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 (in genere una sorgente crittografata)

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