function ImportNPagesToOne(
OutputWidth, OutputHeight: Single;
NumX, NumY : Cardinal): TPdf;
ImportNPagesToOne komponuje strony z TEGO dokumentu do nowego pliku PDF wyjściowego, w którym każda strona wyjściowa układa NumX × NumY stron źródłowych w siatce. Strony źródłowe są skalowane tak, aby zmieścić się w komórce z zachowaniem oryginalnych proporcji; komórki, które wykraczałyby poza granice strony wyjściowej, są przycinane.
OutputWidth i OutputHeight są w jednostkach użytkownika PDF (1 jednostka = 1/72 cala). Dla poziomej strony wyjściowej A4 przekaż 842 × 595. Każdy wiersz jest wypełniany od lewej do prawej, następnie wiersz po wierszu od góry do dołu, co odpowiada konwencjonalnemu układowi N-up drukarki.
Funkcja zwraca nową instancję TPdf. Wywołujący jest właścicielem zwróconego obiektu i musi go zwolnić przez Free (lub ustawić Active := False przed przypisaniem do innej zmiennej). Zwraca nil, jeśli PDFium odrzucił argumenty (zerowa liczba osi, brak pamięci OOM itd.). Dokument źródłowy (ten TPdf) musi być Active.
Zwracany dokument zawiera jedną stronę kompozytową na każde ceil(SourcePages / (NumX×NumY)). Ostatnia strona kompozytowa może być częściowo wypełniona, jeśli liczba stron źródłowych nie jest dokładną wielokrotnością liczby komórek.
OutputWidth = 842, OutputHeight = 595, NumX = 2, NumY = 1.OutputWidth = 595, OutputHeight = 842, NumX = 2, NumY = 2.ImportPages lub 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;