PDFium Component Docs

SaveAsPdfUaToStream methode

Component: TPdf  ·  Unit: PDFium
In-geheugen-variant van SaveAsPdfUa — schrijft de PDF/UA-1-uitvoer naar elke TStream zonder via schijf te stagen

Syntax

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

Description

SaveAsPdfUaToStream is de streaming-tegenhanger van SaveAsPdfUa — het produceert dezelfde PDF/UA-1-uitvoer maar schrijft het resultaat naar elke seekable TStream die de aanroeper aangeeft. Nuttig voor HTTP-uploadpijplijnen, BLOB-kolommen, in-geheugen-cache-lagen, archiefcontainers (ZIP / TAR) of elke workflow waar de PDF/UA-bytes nooit schijf hoeven te raken.

De nabewerkingslogica is identiek aan SaveAsPdfUa(FileName, Options): de basis-SaveAs draait eerst, waarna een incrementele update de XMP-metagegevensstroom injecteert (met verplichte dc:title per ISO 14289-1 §7.1 en de pdfuaid-extensieschema-beschrijving), catalogus-/MarkInfo en /ViewerPreferences wanneer de bron er geen heeft, catalogus-/Lang wanneer de aanroeper een BCP 47-tag aangeeft, en een trailer-/ID-array. Options-velden die leeg worden gelaten worden automatisch gevuld vanuit PDFium-readers (FPDF_GetMetaText, FPDF_GetFileIdentifier, FPDFCatalog_GetLanguage) zodat de typische aanroeper alleen DocumentTitle of Language instelt indien nodig.

Retourneert True bij succes. De uitvoerstroom wordt achtergelaten op de positie na de laatst geschreven byte. Retourneert False als de basis-SaveAs faalde of als de nabewerking niet kon worden bijgevoegd (doorgaans een versleutelde bron).

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