This question has been flagged
7 Replies
29945 Views

I am currently using report_to_printer module for printing my invoices to my dot-matrix printer by just clicking print button. Module sends a copy of the report to the cups server and cups prints the report from a network attached printer.

This scenario works well on our local network with openerp 6.1. Now I want to upgrade to the 7.0 and I also would like to be able to send reports directly to the printer from clients on both local network and Internet.

With 6.1 GTK client we had opportunity to define a processor and send some of the file formats directly to the printer on the client side.

My question is: Is there a method for 7.0 to send a reports directly to the printer easily from client side?

Additional Info: I find an open source java project named jzebra http://code.google.com/p/jzebra/ for sending documents directly to the printer from web based applications. Can this integrated into openerp?

Additional Info 2: There is an another project for firefox to turn print dialog on and off. AttendPrint Not what I am looking for but an additional information for printing.

Avatar
Discard

This would be a great addition, if it exists, many users creating many reports in pdf = fast fill up of downloads folder :)

With the volume of invoices we process - 500 per day - we need a quick & simple ability to print directly to printer and in a batch mode rather than one at a time via a PDF - this worked in 6.0 via PrintJob app - will it appear in 7.0?

Firefox can be set to preview the PDF and then you can choose 'save as' or 'print'

Firefox seems to not recognize the correct MIME type, and still prompts the user to open the pdf in Adobe Reader. Also, many users are using Dot Matrix printers to print invoices, and pdf's do not come out well. Is there a real solution to this problem? I would think this is a VERY common issue for ERP users...

Best Answer

Hi;

The module base_report_to_printer works fine with V 7.0 and 8.0

base_report_to_printer for V7.0

base_report_to_printer for V8.0

In the same repo, the module printer_tray allows to choose the tray of the printer.

And if you are using Aeroo Reports, you can use report_aeroo_direct_print (from Alistek).

Avatar
Discard

But this module is not working for the openerp client which has been accessed the server remotely, I could not detect the printers using the button Update Printers from Cups, with the printer connected. Can you suggest a way to resolve this?

Best Answer

Hello,

It will be possible to integrate jzebra into OpenERP. You will need to (optionally) redefine the print controller in Python and a part of Javascript in webclient.

The main concern here is that jzebar use a Java Applet, so you will have all the trouble related to this technology. You have to authorize the applet, it may have security issues, Applet may be deactivated by default etc.

Avatar
Discard
Author

Not all of the terminals will have this applet running, just the ones with an attached invoice or label printer and java authorization can be done while printer setup.

Jzebra might not be the definitive method for printing POS receipts directly on a dot-matrix printer rapidly when the customer has finished his(her) shopping. However I understand it is possible to implement JZEBRA as an alternative to a fully integrated option in OpenERP. I would like more information to redefine the printer controller in Python and if necessary the related part of Javascript in webclient;

Author

Can javascript send commands to the printer ?

Yes I can; and Jzebra was able to print its tests. Now there remains how to integrate Jzebra with OpenErp, if I understood correctly your comments. Would you add some direction in order to make such implementation for V7 Online. AttendPrint tried: does'nt succeed printing the Pos receipt in a decent format.

Best Answer

Hi, in our company we were just working around this problem. We have little Okipos ticket printer connected to a Windows 7 machine. As a workaround we are using:

  • AttendPrint plugin for Firefox to avoid the popup print dialog
  • Bullzip PDF Printer set up to create pdf in a dedicated folder (you can disable configuration popups from the settings menu)
  • FolderActions - a little program that listens to the dedicated folder and runs a custom action
  • pdftotext from Xpdf for windows - to convert the created pdf to text file
  • the action in FolderActions is something like

    pdftotext.exe -layout -enc UTF-8 output.pdf output.txt

    notepad /p output.txt

I have the driver for the printer installed and I use the notepad approach to send it through the driver, print file.txt does not produce the best output. Maybe there is much simpler solution but this is what I made it work with. I tried Report-Designer plugin for OpenOffice but without success. Don't really know how to use it. I'm sure that there is a way better way though.

Greetings

Avatar
Discard
Best Answer

Hello,

There is an addon in community branches https://launchpad.net/report-print-send base_report_to_printer. It seems that it as not be ported to version 7.0 yet.

Regards

Avatar
Discard
Best Answer

There is a module from 6.1 that doesn't need that much customization to work in 7.0

http://v6apps.openerp.com/addon/8736

The only customization it really need to work in 7.0 is in the views to remove: <field name="type"> and to add: <form version="7.0"> The code itselfs works fine with mine.

Btw: It works with CUPS in Linux servers.

Avatar
Discard
Best Answer

Hello,

Some time ago I made a proof of concept with jzebra and OpenERP. You can see a video in www.youtube.com/watch?v=-NrwpS9Cy1s www.youtube.com/watch?v=GjVpjfWkUVQ

The source code is in github.com/jpizarrom/OpenERP-jZebra

Avatar
Discard
Best Answer

Hi, Here is solution we use. No python code required! You can install base_report_to_printer module which lets send any report in a pdf file to a CUPS server. And you can connect ZPL and EPL Zebra printers to CUPS. All you need to do is to install both CUPS and base_report_to_printer, connect your printers to CUPS (we use ZebraLink to connect printers to a local network) and set to which printers reports will be sent.

Avatar
Discard