function ImportNPagesToOne(
OutputWidth, OutputHeight: Single;
NumX, NumY : Cardinal): TPdf;
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.
OutputWidth = 842, OutputHeight = 595, NumX = 2, NumY = 1.OutputWidth = 595, OutputHeight = 842, NumX = 2, NumY = 2.ImportPages eller 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;