跳至内容
菜单
此问题已终结
2 回复
15107 查看

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.

形象
丢弃

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

最佳答案

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.

形象
丢弃
相关帖文 回复 查看 活动
1
11月 22
6450
4
9月 24
2212
2
9月 24
1362
0
3月 15
3986
9
11月 19
11568