function SaveAsPdfRToStream(Stream: TStream; const Options: TPdfRSaveOptions): Boolean;
SaveAsPdfRToStream 是 SaveAsPdfR 的流式对应方法——输出字节相同,只是写入调用者提供的任意可 seek 的 TStream。适用于文档采集 / 归档流水线:接收扫描输出、附加 PDF/R-1 标记,然后把结果推送到内容存储而无需落盘
后处理与 SaveAsPdfR 完全相同:目录裁剪到 §6.3 白名单、Info 字典裁剪到 §6.4.3 白名单、携带 §6.4.4 Table 1 四个条目的 XMP 流、%PDF-raster-1.0 尾注释以及 trailer /ID。只有四个允许的 Info 条目(Creator / Producer / CreationDate / ModDate)会从 FPDF_GetMetaText 自动填充;Title / Author / Subject / Keywords 则明确不会桥接,因为 PDF/R 禁止它们出现在 Info 字典中
成功时返回 True
var
Stream: TMemoryStream;
Opts: TPdfRSaveOptions;
begin
Stream := TMemoryStream.Create;
try
Opts := TPdfRSaveOptions.Default;
Opts.Producer := 'PDFiumPas scan pipeline';
if Pdf1.SaveAsPdfRToStream(Stream, Opts) then
begin
Stream.Position := 0;
ArchiveScan(Stream);
end;
finally
Stream.Free;
end;
end;