PDFiumPas 文档

SaveAsPdfRToStream 方法

此 API 条目保留标识符、签名、代码块和 PDF 术语的原始形式。
组件: TPdf  ·  单元: PDFium
SaveAsPdfR 的内存变体——将 PDF/R-1 输出直接写入任意 TStream,而不经过磁盘中转

语法

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;

另请参阅

SaveAsPdfR, ValidatePdfR, PdfRConformance, SaveAs