function SaveAsPdfUaToStream(Stream: TStream; const Options: TPdfUaSaveOptions): Boolean;
SaveAsPdfUaToStream är strömmotsvarigheten till
SaveAsPdfUa — den producerar samma PDF/UA-1-utmatning
men skriver resultatet till en valfri sökbar TStream som anroparen
tillhandahåller. Användbar för HTTP-uppladdningspipelines, BLOB-kolumner,
cacheminneslager, arkivcontainer (ZIP / TAR) eller alla arbetsflöden
där PDF/UA-bytena aldrig behöver röra disken
Efterbearbetningslogiken är identisk med
SaveAsPdfUa(FileName, Options): bas-SaveAs körs
först, därefter injicerar en inkrementell uppdatering XMP-metadataströmmen
(med obligatorisk dc:title enligt ISO 14289-1 §7.1 och
tilläggsschemabeskrivningen för pdfuaid), katalogposterna
/MarkInfo och /ViewerPreferences när
källan saknar dem, katalogposten /Lang när anroparen
tillhandahöll en BCP 47-tagg och en /ID-array i
trailern. Tomma fält i Options fylls i automatiskt från PDFium-läsare
(FPDF_GetMetaText, FPDF_GetFileIdentifier,
FPDFCatalog_GetLanguage), så en typisk anropare sätter
bara DocumentTitle eller Language om det
behövs
Returnerar True vid lyckat resultat. Utmatningsströmmen
lämnas vid positionen efter den senast skrivna byten. Returnerar
False om bas-SaveAs misslyckades eller om
efterbearbetningen inte kunde bifogas (vanligtvis en krypterad
källa)
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;