Continuous Paper

TECH TIP: Printing to Continuous Paper

Layout

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.

Pagination
  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:

    Example:

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