PDFium Delphi Component 文件

ImportNPagesToOne 方法

组件: TPdf  ·  单元: PDFium
构建一个全新的 TPdf,其页面是源文档页面按 NumX×NumY 组合而成,适合 N-up 打印版式

Syntax

function ImportNPagesToOne(
  OutputWidth, OutputHeight: Single;
  NumX, NumY : Cardinal): TPdf;

Description

ImportNPagesToOne 将本文档的页面组合到一个新的 输出 PDF 中,其中每个输出页面以网格方式布局 NumX × NumY 个源页面。 源页面会缩放以适应其单元格,同时保留 原始宽高比;超出输出页面边界的单元格会被裁剪

OutputWidth 和 OutputHeight 以 PDF 用户单位(1 单位 = 1/72 英寸)计。对于 A4 横向输出页面, 传入 842 × 595。每一行从左到右填充,然后逐行 从上到下,镜像常规打印机的 N-up 版式

该函数返回一个新的 TPdf 实例。 调用方拥有返回的对象,并且必须 Free 它(或在赋值给另一个变量之前设置 Active := False)。如果 PDFium 拒绝了参数 (零轴计数、OOM 等),则返回 nil。源文档(此 TPdf)必须 为 Active

返回的文档为每个 ceil(源页数 / (NumX×NumY)) 携带一个组合页。如果源页数 不是单元格数的精确倍数,最后一个组合页可能 部分填充

Remarks

Example

var
  Composite: TPdf;
begin
  Pdf1.FileName := 'C:\Slides.pdf';
  Pdf1.Active := True;
  // 4-up 横向:842 x 595 pt,2 列 x 2 行
  Composite := Pdf1.ImportNPagesToOne(842, 595, 2, 2);
  try
    if Composite <> nil then
      Composite.SaveAs('C:\Slides_4up.pdf');
  finally
    Composite.Free;
  end;
end;

See Also

ImportPages, ImportPagesByIndex, MovePages