function ImportNPagesToOne(
OutputWidth, OutputHeight: Single;
NumX, NumY : Cardinal): TPdf;
ImportNPagesToOne stelt pagina's van DIT document samen in een nieuwe
uitvoer-PDF waarvan elke uitvoerpagina NumX × NumY bronpagina's in
een raster plaatst. De bronpagina's worden geschaald om in hun cel te passen met behoud van
hun oorspronkelijke beeldverhouding; cellen die voorbij de
uitvoerpaginagrenzen zouden reiken worden bijgesneden.
OutputWidth en OutputHeight zijn in PDF-gebruikerseenheden (1 eenheid = 1/72 inch). Voor een A4-landschap-uitvoerpagina
geeft u 842 × 595. Elke rij wordt van links naar rechts gevuld, vervolgens rij voor
rij van boven naar beneden, overeenkomstig de conventionele printer-N-up-lay-out.
De functie retourneert een verse TPdf-instantie. De
aanroeper is eigenaar van het geretourneerde object en moet het Freen
(of Active := False instellen voordat aan een andere
variabele wordt toegewezen). Retourneert nil als PDFium de argumenten afwees
(nul as-aantal, OOM enz.). Het brondocument (deze TPdf) moet
Active zijn.
Het geretourneerde document draagt één compositiepagina per ceil(SourcePages / (NumX×NumY)). De laatste compositiepagina kan gedeeltelijk gevuld zijn als het aantal bronpagina's geen exact veelvoud is van het aantal cellen.
OutputWidth = 842, OutputHeight = 595, NumX = 2, NumY = 1.OutputWidth = 595, OutputHeight = 842, NumX = 2, NumY = 2.ImportPages of 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;