PDF 报表中文支持模块:base_report_cn
-
此模块是基于 Gábor Dukai 编写的 base_report_unicode 模块修改而来,自带了开源的文泉驿正黑体和 AR PL SungtiL GB 宋体。该模块的使用非常简单,只需要直接导入这个模块,不需要任何的 hack,OpenERP 现存的报表即可直接支持中文。当然了,内置报表的现存的文字仍然是英文的,本模块只是提供中文支持,让中文别显示成方框。
下载:
openerp-community-addons.googlecode.com/files/base_report_cn.zip项目主页:
code.google.com/p/openerp-community-addons[[i] 本帖最后由 oldrev 于 2009-4-3 22:25 编辑 [/i]]
-
感谢你的消息回复!
这个模块包我回去导入了试了下,直接导入的时候OpenERP会报错
[attach]181[/attach]后来我试了一下解压缩这个包(会提示复盖,不知道为什么)
重新打成.zip包后,到OpenERP里导入这个模块,可以成功导入,但打印的时候又提示出错,说找不到TTF这个字体
[attach]182[/attach]然后我就把那个包解压出来,将base_report_cn目录直接复制到serveraddons目录下,再试着打印终于看到熟悉亲切的中文了:) 心情那个激动啊,这个问题拆腾我2天了,网上找了N遍,也试了N种方式,今天终于解决了,非常感谢你的帮忙!!!!!!
[attach]183[/attach] -
中文pdf输出从此很容易了。非常感谢oldrev的贡献。
-
Traceback (most recent call last):
File "/usr/local/lib/python2.5/site-packages/openerp-server/service/web_services.py", line 600, in go
(result, format) = obj.create(cr, uid, ids, datas, context)
File "/usr/local/lib/python2.5/site-packages/openerp-server/report/report_sxw.py", line 645, in create
return self.create_single(cr, uid, ids, data, report_xml, context)
File "/usr/local/lib/python2.5/site-packages/openerp-server/report/report_sxw.py", line 733, in create_single
pdf = create_doc(rml2, logo, title.encode('utf8'))
File "/usr/local/lib/python2.5/site-packages/openerp-server/report/interface.py", line 199, in create_pdf
obj.render()
File "/usr/local/lib/python2.5/site-packages/openerp-server/report/render/render.py", line 50, in render
result = self._render()
File "/usr/local/lib/python2.5/site-packages/openerp-server/report/render/rml.py", line 36, in _render
return rml2pdf.parseString(self.xml, images=self.bin_datas, path=self.path,title=self.title)
File "/usr/local/lib/python2.5/site-packages/openerp-server/addons/base_report_cn/init.py", line 79, in convert2TrueType
data = data.replace(old, new)
File "/usr/local/lib/python2.5/site-packages/openerp-server/report/render/rml2pdf/trml2pdf.py", line 803, in parseString
r.render(fp)
File "/usr/local/lib/python2.5/site-packages/openerp-server/report/render/rml2pdf/trml2pdf.py", line 214, in render
self.docinit(el)
File "/usr/local/lib/python2.5/site-packages/openerp-server/report/render/rml2pdf/trml2pdf.py", line 191, in docinit
pdfmetrics.registerFont(TTFont(name, fname ))
File "/usr/local/lib/python2.5/site-packages/reportlab/pdfbase/ttfonts.py", line 960, in init
canvas.drawString(x, y, "Some text encoded in UTF-8")
File "/usr/local/lib/python2.5/site-packages/reportlab/pdfbase/ttfonts.py", line 875, in init
return output.makeStream()
File "/usr/local/lib/python2.5/site-packages/reportlab/pdfbase/ttfonts.py", line 398, in init
return stm.getvalue()
File "/usr/local/lib/python2.5/site-packages/reportlab/pdfbase/ttfonts.py", line 463, in extractInfo
self.seek(string_data_offset + offset)
TTFError: Could not find PostScript font name -
[quote]Could not find PostScript font name[/quote]
报表中使用了系统中不存在的字体?