function SaveAsPdfUaToStream(Stream: TStream; const Options: TPdfUaSaveOptions): Boolean;
SaveAsPdfUaToStream tokovni je pandan metodi
SaveAsPdfUa — proizvodi isti PDF/UA-1 izlaz,
ali rezultat zapisuje u bilo koji traživi TStream koji dostavi
pozivatelj. Korisno za cjevovode HTTP prijenosa, BLOB stupce,
slojeve predmemorije u memoriji, arhivske spremnike (ZIP / TAR)
ili bilo koji tok rada u kojem PDF/UA bajtovi nikada ne moraju
dirati disk
Logika naknadne obrade identična je
SaveAsPdfUa(FileName, Options): najprije se izvodi
osnovni SaveAs, zatim inkrementalno ažuriranje ubacuje XMP tok
metapodataka (s obaveznim dc:title prema
ISO 14289-1 §7.1 i opisom sheme proširenja pdfuaid),
kataloške unose /MarkInfo i
/ViewerPreferences kad ih izvor nema, kataloški
/Lang kad je pozivatelj dostavio BCP 47 oznaku te
niz /ID u traileru. Polja Options ostavljena
praznima automatski se popunjavaju iz PDFium čitača
(FPDF_GetMetaText, FPDF_GetFileIdentifier,
FPDFCatalog_GetLanguage) pa tipičan pozivatelj
postavlja samo DocumentTitle ili
Language po potrebi
Vraća True pri uspjehu. Izlazni tok ostaje na
poziciji nakon zadnjeg zapisanog bajta. Vraća False
ako osnovni SaveAs nije uspio ili ako naknadna obrada nije
mogla biti priložena (tipično šifrirani izvor)
saRemoveSecurity
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;