function ImportNPagesToOne(
OutputWidth, OutputHeight: Single;
NumX, NumY : Cardinal): TPdf;
ImportNPagesToOne compone páginas de ESTE documento en un PDF de
salida nuevo donde cada página de salida dispone
NumX × NumY páginas de origen
en una cuadrícula. Las páginas de origen se escalan para ajustarse a su
celda preservando su relación de aspecto original; las celdas que se
extendieran más allá de los límites de la página de salida se recortan.
OutputWidth y OutputHeight están en unidades
de usuario PDF (1 unidad = 1/72 pulgadas). Para una página de salida A4
horizontal, pase 842 × 595. Cada fila se rellena de izquierda a
derecha y luego fila a fila de arriba a abajo, reflejando la disposición
N-up convencional de las impresoras.
La función devuelve una instancia TPdf nueva. El
llamador es propietario del objeto devuelto y debe liberarlo con
Free (o establecer Active := False antes de
asignarlo a otra variable). Devuelve nil si PDFium rechazó
los argumentos (recuento de ejes cero, OOM, etc.). El documento de origen
(este TPdf) debe estar Active.
El documento devuelto lleva una página compuesta por cada ceil(SourcePages / (NumX×NumY)). La última página compuesta puede estar parcialmente rellena si el número de páginas de origen no es un múltiplo exacto del recuento de celdas.
OutputWidth = 842, OutputHeight = 595, NumX = 2, NumY = 1.OutputWidth = 595, OutputHeight = 842, NumX = 2, NumY = 2.ImportPages o 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;