Skip to Content
Menu
You need to be registered to interact with the community.
This question has been flagged
2 Odgovori
15100 Prikazi

I want to print a text file (.txt) just like how to print a pdf file in odoo. Is it there a way on how to do this feat? I've been searching in other forums with this same question but can't find a sufficient answer.

Avatar
Opusti

Hi,

Check this link, in this you can see how to create a .txt file and how to do operations in it.

You can give this python code in some button action so that the ..txt file we get created on clicking on it.

http://www.pythonforbeginners.com/files/reading-and-writing-files-in-python

Best Answer

Hello jmevic amortizado,

You can use below python code in some button action so you can download your text file as odoo reports

Following python code:

f_read = Your test file file_data = f_read.read()#Pass your text file data using encoding.


values = {
 'name': "Name of text file.txt",
 'datas_fname': 'print_file_name.txt',
 'res_model': 'ir.ui.view',
 'res_id': False,
 'type': 'binary',
 'public': True,
 'datas': file_data.encode('utf8').encode('base64'),
  }

#Using your data create as attachment.
attachment_id = self.env['ir.attachment'].sudo().create(values)

#Prepare your download URL download_url = '/web/content/' + str(attachment_id.id) + '?download=True'

base_url = self.env['ir.config_parameter'].get_param('web.base.url')

# Return so it will download in your system return {
 "type": "ir.actions.act_url",
 "url": str(base_url) + str(download_url),
 "target": "new",
 }

Hope this helps you!

Thanks.

Avatar
Opusti
Related Posts Odgovori Prikazi Aktivnost
1
nov. 22
6441
4
sep. 24
2211
2
sep. 24
1355
0
mar. 15
3982
9
nov. 19
11564