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
- 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.
- 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;