PDFium Component Docs

SaveAsPdfAToStream methode

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

Syntax

function SaveAsPdfAToStream(Stream: TStream; const Options: TPdfASaveOptions): Boolean;

Description

SaveAsPdfAToStream is de streaming-tegenhanger van SaveAsPdfA — het produceert dezelfde PDF/A-1b-uitvoer, maar schrijft het resultaat naar elke seekable TStream die de aanroeper aangeeft in plaats van via een tijdelijk bestand te gaan. Nuttig voor HTTP-upload-pijplijnen, BLOB-kolommen, in-geheugen-cache-lagen, archiefcontainers (ZIP / TAR) of elke workflow waar de PDF/A-bytes nooit schijf hoeven te raken.

De nabewerkingslogica is identiek aan SaveAsPdfA(FileName, Options): de basis-SaveAs draait eerst, waarna een incrementele update de XMP-metagegevensstroom injecteert (die het Document Information Dictionary bridgt naar XMP-vorm per ISO 19005-1 6.7.3 / Cor.1 Tabel 1 en de pdfaid-extensieschema-beschrijving vereist door 6.7.8 inbedt), de OutputIntent die verwijst naar een ingebed ICC-profiel (sRGB standaard, aangepast via Options.IccProfileData), een catalogusupdate die ze samen linkt, en een trailer-/ID-array vereist door 6.1.3. Options-velden die leeg worden gelaten worden automatisch gevuld vanuit FPDF_GetMetaText en FPDF_GetFileIdentifier zodat de typische aanroeper alleen Conformance instelt.

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 PDF/A-nabewerking niet kon worden bijgevoegd (doorgaans omdat de bron-PDF was versleuteld, wat PDF/A verbiedt).

Remarks

Example

var
  Stream: TMemoryStream;
  Opts: TPdfASaveOptions;
begin
  Stream := TMemoryStream.Create;
  try
    Opts := Default(TPdfASaveOptions);
    Opts.Conformance := pac1b;
    if Pdf1.SaveAsPdfAToStream(Stream, Opts) then
    begin
      Stream.Position := 0;
      UploadToArchive(Stream);
    end;
  finally
    Stream.Free;
  end;
end;

See Also

SaveAsPdfA, ValidatePdfA, PdfAConformance, SaveAs