dynamic page length
Hi
I want to print out to a receipt printer. this does not have a fixed page
length. If I leave off a footer then it will print exactly to the length
required. If I have a footer then it will print to the page size specified
in the setup properties. I want to have the footer but print to the length
required. How can I make the page height dynamic so that the footer is
printed after the detail is complete.
Paul
I want to print out to a receipt printer. this does not have a fixed page
length. If I leave off a footer then it will print exactly to the length
required. If I have a footer then it will print to the page size specified
in the setup properties. I want to have the footer but print to the length
required. How can I make the page height dynamic so that the footer is
printed after the detail is complete.
Paul
This discussion has been closed.
Comments
or
make a fake group en print the footer in the groupfooter
or
...
----------------------------------------------------
Article: Printing to Continuous Paper
----------------------------------------------------
1. 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.
2. Pagination
a. dtPrinter
Some 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.
b. dtReportTextFile
With 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;
Best regards,
Nard Moseley
Digital Metaphors
www.digital-metaphors.com