OpenERP 7.0 中文报表PDF乱码(WindowsXP)

回覆文章
yehlu
Site Admin
文章: 3245
註冊時間: 2004-04-15 17:20:21
來自: CodeCharge Support Engineer

Re: OpenERP 7.0 中文报表PDF乱码(WindowsXP)

文章 yehlu »

http://my.oschina.net/mingdegewu/blog/120775
openerp报表中文乱码问题的解决方案总结
发表于10个月前(2013-04-08 10:52) 阅读(913) | 评论(2) 0人收藏此文章, 我要收藏
赞0
openerp 报表 乱码

问题:在OpenERP 6.0.3 报表中汉字显示为方框。
OpenERP <wbr>6.0.3 <wbr>报表中文乱码问题的解决方案


解决办法一:
1、下载这个模块 http://openerp-community-addons.googlec ... ort_cn.zip
2、用admin登录进OpenERP,系统管理-->模块-->导入模块,选择刚下载的Zip文件,点击导入模块。
3、系统管理-->模块,找到 base_report_cn后选择安装。(我在Ubuntu 10.04中安装,提示找不到SinSun字体,后来我将这个zip文件解压到/usr/share/pyshared/openerp-server/addons目录中,然后再安装就成功了)
4、系统管理-->公司-->公司,分别选择 “页眉/页脚”和“内部页眉/页脚”, 将“setFont name=”一部分改成 “<setFont name="SimSun" size="8"/>”

然后再打印报表中文就能正常显示了,以上亲测成功,有图为证:
OpenERP <wbr>6.0.3 <wbr>报表中文乱码问题的解决方案

解决办法二(应该是最根本和最简单的方法):
1、在我indows下, 拷贝simsun.ttf 文件到字体文件夹,然后分别改名为“DejaVuSans.ttf”,
“DejaVuSans-Bold.ttf”,“DejaVuSans-Oblique.ttf”,“DejaVuSans-BoldOblique.ttf”。这样,全部报表都可以正常使用中文了。
2、在Ubuntu下,系统中/usr/share/fonts/truetype/ttf-dejavu路径下放的是unicode的字体DejaVuSans.ttf,这个字体中并没有相对应的中文字体在里面,因而造成OpenERP报表乱码,http://code.google.com/p/qinsdisk/downloads/list 上有合成字体 DejaVuSansYuanTi, 含中文字体。
下载后:
DejaVuSansYuanTi-Regular.ttf 改为 DejaVuSans.ttf”,
DejaVuSansYuanTi-Bold.ttf 改为 “DejaVuSans-Bold.ttf”,
DejaVuSansYuanTi-Italic.ttf 改为“DejaVuSans-Oblique.ttf”,
DejaVuSansYuanTi-BoldItalic.ttf 改为“DejaVuSans-BoldOblique.ttf
然后把这四个字体上传到服务器usr/share/fonts/truetype/ttf-dejavu目录中,重启服务器,测试报表,中文正常,表头页脚中文也显示正常!





大家先装个oecn_base_fonts,解决报表中文问题;如不行也可装base_report_cn试一下。
随着OpenERP V6.1 的推出,广大CJK编码用户还是遇到了以下字体的问题,报表的中文字体成了框框,怎么办呢?



解决此文题有三种方法,大家可试一下,解决问题即可。
一、这个字体问题可以通过安装oecn_base_font来解决,下面我们一起来了解下安装的步骤。
(本方法来自:http://shine-it.net/index.php/topic,2791.0.html
1.先从这里下载最新版本oecn_base_fonts可从http://apps.openerp.com上下载,可试一下:http://apps.openerp.com/addon/get_modul ... _fonts.zip
2.然后将这个zip文件解压后复制到/usr/share/pyshared/openerp/addons目录
ila_rendered
ila_rendered
3.CJK warp是中文字体换行处理,默认勾选。Original Fonts是系统里面需要用到的字体(一共有6种,一般需要全部替换掉),Replace Fonts 是你想替换成的字体(取自于OpenERP Server的系统内)。


4最后点击Apply,然后重启服务器。
大功告成。


原文地址:

http://shine-it.net/index.php/topic,279 ... ml#msg9408
http://shine-it.net/index.php/topic,2791.0.html

二、
1、下载这个模块 http://openerp-community-addons.googlec ... ort_cn.zip
2、将这个zip文件解压后分别复制到/usr/share/pyshared/openerp/addons目录和/usr/lib/pymodules/python2.6/openerp/addons目录中。
3、用admin登录进OpenERP,设置-->模块-->更新模块列表,找到此模块,然后安装它。
4、解决页眉页脚中文乱码的方法

设置-->公司-->公司,分别选择 “页眉/页脚”和“内部页眉/页脚”, 将“setFont name=”一部分改成 “<setFont name="SimSun" size="8"/>”。

也可以可以通过以下方法解决:
修改base_report_cn中的__init__.py,在其中字体映射表的部分添加两行,如下:
fontmap = {
'DejaVu Sans': 'SimHei',
'DejaVu Sans Bold': 'SimHei',
即可。已改好的文件下载地址:http://115.com/file/bevs7vr0#
base-report-cn.zip
OpenER <wbr>6.1报表中文问题的解决办法

如果更新模块列表后出现找不到刚复制的模块时的解决办法
sudo chmod -R 777 /usr/lib/pymodules/python2.6/openerp/addons
sudo chmod -R 777 /usr/share/pyshared/openerp/addons
三、

系统环境:

OS: Ubuntu10.0403

OE:OpenERP6.0.3

在服务器usr/share/fonts/truetype/ttf-dejavu目录中

1、用 mv 命令改名以下字体文件

mv DejaVuSans.ttf bak_DejaVuSans.ttf

mv DejaVuSans-Bold.ttf bak_DejaVuSans-Bold.ttf

mv DejaVuSans-Oblique.ttf bak_DejaVuSans-Oblique.ttf

mv DejaVuSans-BoldOblique.ttf bak_DejaVuSans-BoldOblique.ttf

2、下载新字体文件

wget http://okay.googlecode.com/files/DejaVuSans-Oblique.ttf

wget http://okay.googlecode.com/files/DejaVu ... blique.ttf

wget http://okay.googlecode.com/files/DejaVuSans-Bold.ttf

wget http://okay.googlecode.com/files/DejaVuSans.ttf

3、重新启动 OE





最近下载了OPENER6.1版 ALL IN ONE并安装于WIN7系统,打印报表时发现中文字符不能正常显示(显示为黑色方块块)。后来在Mrshelly的帮助下,并参照快乐粉刷匠的博客(http://blog.sina.com.cn/kaiyuanlvzhou)上的方法,解决了此问题。现记录过程如下,供像我一样的小白级同学参考,在此也要向Mrshelly和快乐粉刷匠表示感谢。
1、下载这个模块 http://openerp-community-addons.googlec ... ort_cn.zip
2、将这个zip文件解压后复制到\\OpenERP 6.1-1\server\openerp\addons目录下
3、以admin用户登陆OPENERP,依次点击:设置→模块→更新模块列表→更新→打开模块
4、搜索base_report_cn模块并安装此模块
5、打印成功,END



以上是不包含 页眉页脚的中文化的,
如果想 页眉和脚的,
请参详以下文章

http://shine-it.net/index.php/topic,247 ... ml#msg8191





关于如何在报表中显示中的解决方法可以搜索base_report_cn.zip,安装这个模块可以解决报表内中文显示为方框的问题。
但是报表的页眉和页脚的汉字还是会显示为方框,可以看http://openerp-china.org/blog/space.php?uid=169&do=blog&id=174

我的方法是,直接修改页脚和页眉中有关字体的部分:
<setFont name="SimSun" size="8"/>
仅供大家参考,呵呵呵。



1、下载这个模块 http://openerp-community-addons.googlec ... ort_cn.zip
2、将这个zip文件解压后复制到openerp\addons目录下
3、以admin用户登陆OPENERP,依次点击:设置→模块→更新模块列表→更新→打开模块
4、搜索不到base_report_cn模块。

http://shine-it.net/index.php/topic,2791.0.html
根据这个帖子安装“oecn_base_font”,
1、以admin用户登陆OPENERP,依次点击:设置→模块→更新模块列表→更新→打开模块
2、搜索不到oecn_base_font”模块。





环境是:Ubuntu Desktop 12.10, OpenERP 7.0 。在OpenERP手册群的各位帮助下,有了下面的成果(使用WenQuanYiZenHei字体):

* 修改openerp/report/render/rml2pdf/customfonts.py文件,在其中CustomTTFonts变量中添加如下字体信息,

('WenQuanYiZenHei',"WenQuanYiZenHei", "wqy-zenhei.ttc", 'normal'),
('WenQuanYiZenHei',"WenQuanYiZenHei Bold", "wqy-zenhei.ttc", 'bold'),
('WenQuanYiZenHei',"WenQuanYiZenHei Oblique", "wqy-zenhei.ttc", 'italic'),
('WenQuanYiZenHei',"WenQuanYiZenHei BoldOblique", "wqy-zenhei.ttc", 'bolditalic'),

一、中文报表
使用oecn模块,在apps.openerp.com上下载最新版(trunk)。
(1)如果已经安装了旧版,先卸载,然后將OE服务停止,將下载的oecn拷贝至openerp/addons目录中替换原来的;开启服务,登录后安装,在常规设置中设置好字体文件(ubuntu中:/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc),并将cjk打勾)
(2)如果新安装,则將下载的oecn放置addons中,在OE中更新模块,安装并设置字体文件就行
二、公司页眉页脚中文设置
在设置->公司->页眉页脚设置中,將有关字体的都改成WenQuanYiZenHei,保存即可。
当然,前面步骤,基于一个前提,就是系统已经安装好了WenQuanYiZenHei字体,Ubuntu中安装字体其实还是很简单的
$ sudo apt-get install ttf-wqy-zenhei // 安装文泉译正黑字体
$ sudo apt-get install ttf-wqy-microhei // 安装文泉译微米黑字体
yehlu
Site Admin
文章: 3245
註冊時間: 2004-04-15 17:20:21
來自: CodeCharge Support Engineer

Re: OpenERP 7.0 中文报表PDF乱码(WindowsXP)

文章 yehlu »

OK windows 7 + GreenOpenERP8

1、在我indows下, 拷贝simsunb.ttf 文件到字体文件夹,然后分别改名为“DejaVuSans.ttf”,
“DejaVuSans-Bold.ttf”,“DejaVuSans-Oblique.ttf”,“DejaVuSans-BoldOblique.ttf”。这样,全部报表都可以正常使用中文了。

2.fix oecn_font_installer.py
line 4
from osv import fields, osv
from openerp.osv import fields, osv

3.Install oecn_font_installer

4.Restart Server
附加檔案
oecn_base_fonts.rar
(14.67 KiB) 已下載 128 次
newttf.rar
(29.57 MiB) 已下載 149 次
回覆文章

回到「OpenERP」