function SaveAsPdfRToStream(Stream: TStream; const Options: TPdfRSaveOptions): Boolean;
SaveAsPdfRToStream è la controparte streaming di
SaveAsPdfR — stessi byte in output, scritti in qualsiasi
TStream seekable fornitto dal chiamante. Utile per le pipeline di
acquisizione / archiviazione documenti che prendono l'output dallo scanner, applicano
le marcature PDF/R-1 e inviano il risultato a uno store di contenuti senza
toccare il disco
Il post-processing è identico a quello di SaveAsPdfR: catalogo ridotto
alla whitelist del §6.3, dizionario Info ridotto alla whitelist del §6.4.3,
stream XMP con le quattro voci della Tabella 1 del §6.4.4,
commento di chiusura %PDF-raster-1.0 e trailer /ID. Solo
le quattro voci Info consentite (Creator / Producer / CreationDate /
ModDate) si auto-popolano da FPDF_GetMetaText; Title /
Author / Subject / Keywords NON vengono volutamente travasate perché
PDF/R le vieta nel dizionario Info
Restituisce True in caso di successo
var
Stream: TMemoryStream;
Opts: TPdfRSaveOptions;
begin
Stream := TMemoryStream.Create;
try
Opts := TPdfRSaveOptions.Default;
Opts.Producer := 'PDFium Delphi Component scan pipeline';
if Pdf1.SaveAsPdfRToStream(Stream, Opts) then
begin
Stream.Position := 0;
ArchiveScan(Stream);
end;
finally
Stream.Free;
end;
end;