Continuous Paper

TECH TIP: Printing to Continuous Paper


For continuous printing (for example a receipt) use Title/Summary and removing the Header/Footer. Set the PrintHeight of each to phDynamic. Layout the DetailBand to print a single line item. Set the margins to 0 or to the smallest that the printer driver will support (some printers have an unprintable area).

With this configuration the Report will generate a Title followed by a variable number of Detail bands that span pages if needed, and then finally print a Summary at the end.

  1. dtPrinterSome printer drivers have a continuous paper size setting. If not then try setting the paper size to be very small – perhaps the size of the tallest band in the layout. Or try setting the page height to be the size of a detail band. Note that some printer drivers will only accept page sizes within a certain range of paper sizes.
  2. dtReportTextFileWith the above layout, the report text file will generate the page breaks properly, however the device will fill up a page with blank lines. You can control the number of lines per page by configuring the CharacterGrid property in the Report.BeforePrint event:


     procedure TForm1.ppReport1BeforePrint(Sender: TObject);
      lDevice: TppReportTextFileDevice;
      if (ppReport1.FileDevice <> nil) and (ppReport1.FileDevice is TppReportTextFileDevice)then
          lDevice := TppReportTextFileDevice(ppReport1.FileDevice);
          {120 characters per line, 66 lines per page}
          lDevice.CharacterGrid(120, 66);