PDFium Component Docs

ImportNPagesToOne メソッド

コンポーネント: TPdf  ·  ユニット: PDFium
ページがソース文書のページの NumX×NumY コンポジットである新しい TPdf を構築します。Nアップ印刷レイアウトに適しています

Syntax

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

Description

ImportNPagesToOne はこの文書のページを新しい出力 PDF へ構成し、各出力ページがグリッド内に NumX × NumY ソースページをレイアウトします。ソースページは元の縦横比を保持してセルにフィットするよう拡大縮小されます。出力ページ境界を超えるセルはクリップされます

OutputWidthOutputHeight は PDF ユーザー単位(1 単位 = 1/72 インチ)です。A4 横置き出力ページには 842 × 595 を渡します。各行は左から右へ、次に行ごとに上から下へ埋められ、従来のプリンター Nアップレイアウトを反映します

この関数は新しい TPdf インスタンスを返します。呼び出し側が返されたオブジェクトを所有し、Free する(または別の変数へ代入する前に Active := False を設定する)必要があります。PDFium が引数を拒否した場合(ゼロ軸カウント、OOM など)は nil を返します。ソース文書(この TPdf)は Active である必要があります

返される文書は ceil(SourcePages / (NumX×NumY)) ごとに 1 つのコンポジットページを持ちます。ソースページ数がセル数の正確な倍数でない場合、最後のコンポジットページは部分的に埋められることがあります

Remarks

Example

var
  Composite: TPdf;
begin
  Pdf1.FileName := 'C:\Slides.pdf';
  Pdf1.Active := True;
  // 4-up landscape: 842 x 595 pt, 2 columns x 2 rows
  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