function ImportNPagesToOne(
OutputWidth, OutputHeight: Single;
NumX, NumY : Cardinal): TPdf;
ImportNPagesToOne compone le pagine di QUESTO documento in un nuovo
PDF di output in cui ogni pagina di output dispone
NumX × NumY pagine sorgente in
una griglia. Le pagine sorgente sono ridimensionate per adattarsi alla loro cella preservando
il loro aspect ratio originale; le celle che si estendono oltre i
limiti della pagina di output vengono ritagliate
OutputWidth ed OutputHeight sono in
unità utente PDF (1 unità = 1/72 pollice). Per una pagina di output A4 landscape,
passa 842 × 595. Ogni riga è riempita da sinistra a destra, poi riga per
riga dall'alto verso il basso, rispecchiando il convenzionale layout N-up delle stampanti
La funzione restituisce una fresh istanza di TPdf. Il
chiamante possiede l'oggetto restituito e deve fare Free
(oppure impostare Active := False prima di assegnarlo a un'altra
variabile). Restituisce nil se PDFium ha rifiutato gli argomenti
(conteggio assi zero, OOM, ecc.). Il documento sorgente (questo TPdf) deve
essere Active
Il documento restituito riporta una pagina composita per ogni ceil(SourcePages / (NumX×NumY)). L'ultima pagina composita può essere parzialmente riempita se il conteggio delle pagine sorgente non è un multiplo esatto del conteggio delle celle
OutputWidth = 842, OutputHeight = 595, NumX = 2, NumY = 1OutputWidth = 595, OutputHeight = 842, NumX = 2, NumY = 2ImportPages 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;