Question

I have developed a point of sale application using delphi, but I'm left with one last piece of the software, the printing of the cash receipt. I have used Rave Reports for most of my Reports in die application and tried to use the rave reports to make my receipt. The only problem Im having with using the Rave Reports is that I do not know how to control the page feed, I want to force the rave to give a continues page feed, otherwise it prints a section and then stops printing feed some page and then continue to print leave a big blank space on the receipt. So is there anyway to force or manage the paper feed with rave or delphi.

Then another question, for an alternative solution to the problem:

Is there a way that I can use print the content of a TMemo? Then I can put all the items bought in the TMemo and sent it like that? Is that a good idea?

Im using Delphi XE2

Was it helpful?

Solution

If you are looking for an alternative to Fast reports, you should probably check out OPOS or ESC/POS (Epson standard)

OPOS is more of a complete print solution, and takes over connecting to the printer and sending the print job (buy passing Windows in most cases). where as ESC/POS is a set of formatting commands you attached to raw text out put you send to the printer.

They are the industry standards for controlling POS printers so most receipt printers on the market support one or the other (most support both to some extent), they have standard methods for controlling/ feeding the page, cutting the paper and opening the cash draw (if attached to the printer).

I've used both in Delphi applications and you could easily iterative over the lines in a TMeno sending the data to the printer with either. If you are using ESC/POS you can connect to the printer using Delphi's AssignFile or AssignPrn commands.

The down side is they can be a little tricky to start with and are a little limited in the formatting side of things, but if you have a proper receipt printer they print must faster than using the native Windows print methods.

OTHER TIPS

Well, you have some options here....

  • Continue using the path you are on (a report writer or such), which will output to the receipt printer print driver, and then on to the windows printing system

  • Use a Zebra or other printer, and send printer native commands to it (Zebra has a ZPL language). This gives you %100 control, it bypasses windows printing. However, you then will only support certain printer models.

hth!

I know this does not really help you, but I use FastReport for receipts and it works like a charm. There is a special 'infinite length' page in the page configuration, so maybe there is something similar in rave reports.

Consider switching to FR (it's worth it).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top