function ImportNPagesToOne(
OutputWidth, OutputHeight: Single;
NumX, NumY : Cardinal): TPdf;
ImportNPagesToOne compose les pages de CE document dans un nouveau PDF de sortie où chaque page de sortie dispose NumX × NumY pages sources dans une grille. Les pages sources sont mises à l'échelle pour remplir leur cellule en préservant leurs proportions d'origine ; les cellules qui dépasseraient les limites de la page de sortie sont rognées
OutputWidth et OutputHeight sont en unités utilisateur PDF (1 unité = 1/72 pouce). Pour une page de sortie A4 paysage, passez 842 × 595. Chaque ligne est remplie de gauche à droite, puis ligne par ligne de haut en bas, reproduisant la mise en page N-up classique des imprimantes
La fonction renvoie une nouvelle instance de TPdf. L' appelant est propriétaire de l'objet renvoyé et doit le Free (ou définir Active := False avant de l'affecter à une autre variable). Renvoie nil si PDFium a rejeté les arguments (comptage d'axe nul, OOM, etc.). Le document source (ce TPdf) doit être Active
Le document renvoyé contient une page composite par ceil(SourcePages / (NumX×NumY)). La dernière page composite peut être partiellement remplie si le nombre de pages sources n'est pas un multiple exact du nombre de cellules
OutputWidth = 842, OutputHeight = 595, NumX = 2, NumY = 1OutputWidth = 595, OutputHeight = 842, NumX = 2, NumY = 2ImportPages ou 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;