PDFium Component Docs

SaveAsPdfUaToStream method

Component: TPdf  ·  Unit: PDFium
In-memory variant af SaveAsPdfUa — skriver PDF/UA-1-outputtet til enhver TStream uden omvej via disk

Syntax

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

Description

SaveAsPdfUaToStream er streaming-modstykket til SaveAsPdfUa — den frembringer det samme PDF/UA-1-output men skriver resultatet til enhver søgbar TStream som kalderen leverer. Nyttig til HTTP-upload-pipelines, BLOB-kolonner, in-memory-cache- lag, arkiv-containere (ZIP / TAR) eller enhver arbejdsgang hvor PDF/UA-bytes aldrig behøver at røre disk.

Efterbehandlings-logikken er identisk med SaveAsPdfUa(FileName, Options): basis-SaveAs kører først, derefter injicerer en inkrementel opdatering XMP-metadata-streamen (med obligatorisk dc:title per ISO 14289-1 §7.1 og pdfuaid-extension-schema-beskrivelsen), katalog- /MarkInfo og /ViewerPreferences når kilden ikke har nogen, katalog-/Lang når kalderen leverede et BCP 47-tag, og et trailer-/ID-array. Options-felter der efterlades tomme auto-udfyldes fra PDFium-læsere (FPDF_GetMetaText, FPDF_GetFileIdentifier, FPDFCatalog_GetLanguage), så den typiske kalder kun sætter DocumentTitle eller Language efter behov.

Returnerer True ved succes. Output-streamen efterlades ved positionen efter den sidste skrevne byte. Returnerer False, hvis basis-SaveAs fejlede, eller hvis efterbehandlingen ikke kunne vedhæftes (typisk en krypteret kilde).

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