function SaveAsPdfRToStream(Stream: TStream; const Options: TPdfRSaveOptions): Boolean;
SaveAsPdfRToStream é a contraparte em streaming de
SaveAsPdfR — mesmos bytes de saída, gravados em
qualquer TStream com seek que o chamador fornecer. Útil para
pipelines de captura / arquivamento de documentos que recebem a
saída de um scanner, anexam marcadores PDF/R-1 e enviam o
resultado a um repositório de conteúdo sem tocar o disco
O pós-processamento é idêntico ao de SaveAsPdfR: catálogo
reduzido à lista branca do §6.3, dicionário Info reduzido à lista
branca do §6.4.3, fluxo XMP carregando as quatro entradas do
§6.4.4 Table 1, comentário de rodapé %PDF-raster-1.0
e /ID no trailer. Apenas as quatro entradas permitidas de Info
(Creator / Producer / CreationDate / ModDate) são preenchidas
automaticamente a partir de FPDF_GetMetaText; Title /
Author / Subject / Keywords deliberadamente NÃO são transportados
porque o PDF/R os proíbe no dicionário Info
Retorna True em caso de sucesso
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;