Continuous printing - the mission :o)
Hello, I got all tricks and clues about printing in continous paper.
My problem is that I seem one message in this forum about the
EndPage method. Really, when I take out the line "windows.EndPage"
my problem end, but when the report have more than 1 page, it's
prints line over other lines...
Well, I need anything that makes the "windows.EndPage" accept
the paper size that I typed, in this case, one line height.
Thanks a lot.
My problem is that I seem one message in this forum about the
EndPage method. Really, when I take out the line "windows.EndPage"
my problem end, but when the report have more than 1 page, it's
prints line over other lines...
Well, I need anything that makes the "windows.EndPage" accept
the paper size that I typed, in this case, one line height.
Thanks a lot.
This discussion has been closed.
Comments
Have you taken a look at the following article. We have many customers
using this method successfully.
----------------------------------------------------
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;
--
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
I did hard tests about this, and this just work
when I change the printer driver.
My printer is LX-300+, then, don't work correctly.
The paper eject, without set the size of my paper.
When I change the driver to LX-300, the printing
keep perfect.
Can you tell me about?
Thank u very much!
This is not a known issue with ReportBuilder. RB uses the same Windows API
commands to communicate with the printer driver for every printer. Be sure
you are using the latest version of the LX-300+ driver.
--
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
if you run the Demo program of RBuilder, you'll see that if I choose a paper
size as 3x4 inches, the
printer eject at the end of the form.
But, when I send a print job in the program as 5x5 inches, the printer stop
immediatly after the square.
I got the LX-300+ printer driver, downloaded at: www.epson.com.br (I'm from
Brazil).
Thanks a lot.
Which demo are you using? I do not believe we provide any demos for use
with continuous paper printers. It is also difficult for me to recreate
this issue on my machine due to the fact that I do not have the Epson
printer you are using. I can download the driver, however will only be able
to see the report on screen as you do.
One other option might be to export your report to a text file and print
from there using Delphi's TPrinter object.
--
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com