TECH TIP: Selecting Paper Bins for Each Page
Sometimes you may want to print the first page of a report to the manual bin and then print the remaining pages to the default bin.
You can use the Report.OnStartPage event to set the bin for any page.
Example:
procedure TForm1.ppReport1OnStartPageEvent(Sender:TObject); var lsBinName: String; begin if ppReport1.AbsolutePageNo = 1 then lsBinName := ppReport1.PrinterSetup.BinNames[3] else lsBinName := ppReport1.PrinterSetup.BinNames[1]; ppReport1.Engine.Page.PrinterSetup.BinName := lsBinName; end;
Note: The above example assumes the manual bin is 4th in the list (remember its a 0 based index). To account for different print drivers, you could search for the ‘manual’ bin in code by performing a search on the printer’s available bin names:
for liBin := 0 to ppReport1.PrinterSetup.BinNames.Count-1 do if Pos('manual', ppReport1.PrinterSetup.BinNames[liBin]) > 0 then begin lsBinName := ppReport1.PrinterSetup.BinNames[liBin]; break; end;