function SaveAsPdfUaToStream(Stream: TStream; const Options: TPdfUaSaveOptions): Boolean;
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).
saRemoveSecurity først.
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;