PDFium Component Docs

ImportNPagesToOne method

Component: TPdf  ·  Unit: PDFium
Bygger en helt ny TPdf, hvis sider er NumX×NumY-sammensætninger af kildedokumentets sider, velegnet til N-up-udskrivningslayouts

Syntax

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

Description

ImportNPagesToOne komponerer sider fra DETTE dokument ind i en ny output-PDF, hvor hver output-side lægger NumX × NumY kildesider ud i et gitter. Kildesiderne skaleres til at passe i deres celle med bevarelse af deres oprindelige billedforhold; celler der ville række forbi output-sidens grænser klippes.

OutputWidth og OutputHeight er i PDF- brugerenheder (1 enhed = 1/72 tomme). For en A4-landscape output-side, overfør 842 × 595. Hver række udfyldes venstre-til-højre, derefter række for række top-til-bund, hvilket spejler det konventionelle printer N-up-layout.

Funktionen returnerer en frisk TPdf-instans. Kalenderen ejer det returnerede objekt og skal Free det (eller sætte Active := False før tildeling til en anden variabel). Returnerer nil, hvis PDFium afviste argumenterne (nul akse-tælling, OOM osv.). Kildedokumentet (denne TPdf) skal være Active.

Det returnerede dokument bærer én sammensat side pr. ceil(SourcePages / (NumX×NumY)). Den sidste sammensatte side kan være delvist udfyldt, hvis kildesideantallet ikke er et præcist multiplum af celleantallet.

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