PDFium Delphi Component Docs

ImportNPagesToOne Methode

Komponente: TPdf  ·  Unit: PDFium
Erstellt ein völlig neues TPdf, dessen Seiten NumX×NumY-Komposite der Seiten des Quelldokuments sind, geeignet für N-up-Drucklayouts

Syntax

function ImportNPagesToOne(
  OutputWidth, OutputHeight: Single;
  NumX, NumY : Cardinal): TPdf;

Description

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

Remarks

Example

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;

See Also

ImportPages, ImportPagesByIndex, MovePages