function ImportNPagesToOne(
OutputWidth, OutputHeight: Single;
NumX, NumY : Cardinal): TPdf;
ImportNPagesToOne setzt Seiten aus DIESEM Dokument zu einem neuen
Ausgabe-PDF zusammen, bei dem jede Ausgabeseite
NumX × NumY Quellseiten in
einem Raster anordnet. Die Quellseiten werden so skaliert, dass sie
unter Beibehaltung ihres ursprünglichen Seitenverhältnisses in ihre
Zelle passen; Zellen, die über die Ausgabeseitengrenzen hinausgehen
würden, werden abgeschnitten
OutputWidth und OutputHeight liegen in
PDF-User-Einheiten (1 Einheit = 1/72 Zoll). Für eine A4-Querformat-
Ausgabeseite übergeben Sie 842 × 595. Jede Reihe wird von links
nach rechts gefüllt, dann Reihe für Reihe von oben nach unten, was
dem herkömmlichen Drucker-N-up-Layout entspricht
Die Funktion gibt eine frische TPdf-Instanz zurück. Der
Aufrufer besitzt das zurückgegebene Objekt und muss es mit
Free freigeben (oder Active := False setzen,
bevor er es einer anderen Variablen zuweist). Gibt nil
zurück, wenn PDFium die Argumente abgelehnt hat (Achsenanzahl null,
OOM usw.). Das Quelldokument (dieses TPdf) muss Active
sein
Das zurückgegebene Dokument enthält eine Kompositseite pro ceil(SourcePages / (NumX×NumY)). Die letzte Kompositseite kann teilweise gefüllt sein, wenn die Quellseitenanzahl kein genaues Vielfaches der Zellenanzahl ist
OutputWidth = 842, OutputHeight = 595, NumX = 2, NumY = 1OutputWidth = 595, OutputHeight = 842, NumX = 2, NumY = 2ImportPages oder 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;