Skip to Content
Menu
This question has been flagged
2 Replies
8373 Views

Hi,

Is any one know how to print a server side report from client side browser instead of downloading the report.

In my odoo we have creating one customer label and i need to print that from another network computer,but i am not able print it directly to the locally connected printers. and i have seen so many of them are preferred to use cups to connect the printers,but i need to print those reports from client side.

I have seen one JavaScript library Print.js http://printjs.crabbly.com/ which is used , when users request to print reports that are generated on the server side.

Can i use this in odoo ?  Is anyone tried this?


Avatar
Discard
Best Answer

Hi you could always download the pdf file and save it into a flash drive to print it wherever you want.

But

I'm glad to read that I'm not crazy when I create a module specifically for this, print Odoo Qweb reports directly in the browser using Print.js

I do it because I get some serious performance issues when printing reports in a very report printing intensive Odoo app. I also create an issue to Odoo here:

https://github.com/odoo/odoo/issues/15458

You could find the module here:

https://github.com/aek/aek-odoo/tree/8.0/addons/aek_browser_pdf

An small example of how could be used:

    @api.multi
    def test_browser_pdf(self):
        datas = {'ids': self.ids}
        
        return {
            'type': 'ir.actions.client',
            'tag': 'aek_browser_pdf',
            'params': {
                'report_name': 'sale.report_saleorder',
                'ids': self.ids,
                'datas': datas,
                'context': {'lang': 'es_ES'}
            }
        }

As a note aside this is just a proof of concept, some stuffs need to be done to get it as a complete replace of wkhtmltopdf for client side PDF printing, like Page Header and Footer, Paper Format that need to be customized by a client side dynamic CSS Style for the page to print


Avatar
Discard
Author

Thank You very much for your reply..It works fine for me..it saved my time.. Let me know how to set header/footer and paper format using CSS?

Author

Actually what i want to know is how can i set the page size or paper size to be print

You could upvote it

here is a link with info about how to use css to set the print page size and the rest of the options

https://www.smashingmagazine.com/2015/01/designing-for-print-with-css/

Best Answer

sure, check the web controllers and you can see the route to make the content response, use it or please have a look on my custom route here


Thanks

Avatar
Discard
Related Posts Replies Views Activity
0
May 21
1647
0
Feb 21
3142
0
Feb 18
2533
0
Dec 17
3084
3
Jun 17
5143