function ImportNPagesToOne(
OutputWidth, OutputHeight: Single;
NumX, NumY : Cardinal): TPdf;
ImportNPagesToOne はこの文書のページを新しい出力 PDF へ構成し、各出力ページがグリッド内に NumX × NumY ソースページをレイアウトします。ソースページは元の縦横比を保持してセルにフィットするよう拡大縮小されます。出力ページ境界を超えるセルはクリップされます
OutputWidth と OutputHeight は PDF ユーザー単位(1 単位 = 1/72 インチ)です。A4 横置き出力ページには 842 × 595 を渡します。各行は左から右へ、次に行ごとに上から下へ埋められ、従来のプリンター Nアップレイアウトを反映します
この関数は新しい TPdf インスタンスを返します。呼び出し側が返されたオブジェクトを所有し、Free する(または別の変数へ代入する前に Active := False を設定する)必要があります。PDFium が引数を拒否した場合(ゼロ軸カウント、OOM など)は nil を返します。ソース文書(この TPdf)は Active である必要があります
返される文書は ceil(SourcePages / (NumX×NumY)) ごとに 1 つのコンポジットページを持ちます。ソースページ数がセル数の正確な倍数でない場合、最後のコンポジットページは部分的に埋められることがあります
OutputWidth = 842, OutputHeight = 595, NumX = 2, NumY = 1 を渡しますOutputWidth = 595, OutputHeight = 842, NumX = 2, NumY = 2 を渡しますImportPages または ImportPagesByIndex を使います
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;