PDFium Delphi Component 文件

SaveAsPdfRToStream 方法

元件: TPdf  ·  單元: PDFium
SaveAsPdfR 的記憶體版本,會把 PDF/R-1 輸出直接寫入任何 TStream,不需要先經過磁碟

Syntax

function SaveAsPdfRToStream(Stream: TStream; const Options: TPdfRSaveOptions): Boolean;

Description

SaveAsPdfRToStream 是 SaveAsPdfR 的串流對應版本 — 輸出位元組相同,只是寫入呼叫端提供的任何 可搜尋 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

Remarks

Example

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;

See Also

SaveAsPdfR, ValidatePdfR, PdfRConformance, SaveAs