Odoo中文社区可以通过以下三个域名访问:shine-it.net , odoocn.org,odoo.net.cn

原论坛用户的基本信息和发帖这里都予以保留,请注意:原论坛用户无需重新注册新用户,但是您的密码需要重置

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

TinyERP linux下中文打印问题



  • linux下中文打印问题还没解决,谁给帮帮忙,参看了官方论坛,也没弄明白。

    问题一:2. copy it to the folder tiny/bin/reportlab/fonts/ 我的系统里没有这个目录(自己建了一个)
    问题二:find ./bin/addons -name "*.rml" | xargs grep -l 'Times-Roman' | xargs sed -i 's/Times-Roman/Arial Unicode MS/g';.........................这些 命令被执行后返回的提示说:没有输入文件。

    参见: tinyerp.org/forum/topic1943.html


  • 管理员

    解答一:它的这个说明是针对reportlab1.x的(如果我记得没错的话),现在我们用的是reportlab2.x,这样你可以把字体文件拷贝到reportlab的目录下,这个目录是在python的安装目录下的site-package>reportlab>font目录。当然你将字体文件放在tiny/bin/reportlab/fonts/下也没有问题,只要用 ln 命令做一个链接到上面所述的目录下就可以了。还有一个办法就是将字体文件拷贝到linux的字体目录下,具体可以用google查一下。
    另:要检查python的安装目录,可以用的名令有:type, which, whereis, 比如:

    type python
    

    解答二:要理解这行命令的意思是什么。首先用find命令找出以rml结尾的所有文件,并将这些找到的文件作为grep的输入,用grep命令找到所有这些文件中使用Times-Roman字体的地方,然后用sed的替换命令将所有Times-Roman替换为Arial Unicode MS。这样就完成了对这些字体的替换工作。 我注意到这些命令行中好象有一条到两条确实会出现你说的情况,那是因为命令没有找到相应的文件或在文件中没有找到相应的字体,只要你的命令没输入错误,这个也很正常。

    最后要说明一下这种替换report所使用的文件的字体的办法对解决中文pdfreport并不彻底。因为如果你安装了新的模块,而新的模块中的report中的字体又是用西文字体定义的,那么你又要进行这样的手工替换。这个在我们发布的V0.33版本中也同样存在这样的问题,我们只是替换了现存的字体文件。

    在未来发布的版本里,我会制作一个中文unicode pdfreport的模块,这样无论你导入多少新的pdf report都能支持中文unicode。这样的模块针对西方文字的已经有了,遗憾的是还不能支持中文。我会加尽快加以改进以求完美支持中文。

    [[i] 本帖最后由 digitalsatori 于 2008-1-13 13:14 编辑 [/i]]



  • 用如下命令替换成功,可惜打印还是不灵。
    还差什么?[code]find ~/tinyerp-server-4.2.1/bin/addons -name ".rml" | xargs grep -l Times-Roman | xargs sed -i s/Times-Roman/SimSun/g;
    find ~/tinyerp-server-4.2.1/bin/addons -name "
    .rml" | xargs grep -l Times-BoldItalic | xargs sed -i s/Times-BoldItalic/SimSun/g;
    find ~/tinyerp-server-4.2.1/bin/addons -name ".rml" | xargs grep -l Times-Bold | xargs sed -i s/Times-Bold/SimSun/g;
    find ~/tinyerp-server-4.2.1/bin/addons -name "
    .rml" | xargs grep -l Times-Italic | xargs sed -i s/Times-Italic/SimSun/g;
    find ~/tinyerp-server-4.2.1/bin/addons -name ".rml" | xargs grep -l Helvetica-BoldOblique | xargs sed -i s/Helvetica-BoldOblique/SimHei/g;
    find ~/tinyerp-server-4.2.1/bin/addons -name "
    .xsl" | xargs grep -l Helvetica-BoldOblique | xargs sed -i s/Helvetica-BoldOblique/SimHei/g;
    find ~/tinyerp-server-4.2.1/bin/addons -name ".rml" | xargs grep -l Helvetica-Bold | xargs sed -i s/Helvetica-Bold/SimHei/g;
    find ~/tinyerp-server-4.2.1/bin/addons -name "
    .xsl" | xargs grep -l Helvetica-Bold | xargs sed -i s/Helvetica-Bold/SimHei/g;
    find ~/tinyerp-server-4.2.1/bin/addons -name ".xsl" | xargs grep -l Helvetica-Oblique | xargs sed -i s/Helvetica-Oblique/SimHei/g;
    find ~/tinyerp-server-4.2.1/bin/addons -name "
    .rml" | xargs grep -l Helvetica | xargs sed -i s/Helvetica/SimHei/g;
    find ~/tinyerp-server-4.2.1/bin/addons -name ".xsl" | xargs grep -l Helvetica | xargs sed -i s/Helvetica/SimHei/g;
    find ~/tinyerp-server-4.2.1/bin/addons -name "
    .rml" | xargs grep -l Courier-Bold | xargs sed -i s/Courier-Bold/SimYou/g;
    find ~/tinyerp-server-4.2.1/bin/addons -name ".xsl" | xargs grep -l Courier | xargs sed -i s/Courier/SimYou/g;
    find ~/tinyerp-server-4.2.1/bin/addons -name "
    .rml" | xargs grep -l Courier | xargs sed -i s/Courier/SimYou/g ;[/code]

    init.py文件已经改成这样

    [code]from trml2pdf import parseString

    from reportlab.lib.fonts import addMapping
    from reportlab.pdfbase import pdfmetrics
    from reportlab.pdfbase.ttfonts import TTFont
    from reportlab.pdfbase.cidfonts import CIDFont, findCMapFile
    from reportlab.lib.fonts import addMapping

    pdfmetrics.registerFont(TTFont('simsun','simsun.ttc'))

    for facename in ['simsun']:
    addMapping(facename, 0, 0, facename) #normal
    addMapping(facename, 0, 1, facename) #italic
    addMapping(facename, 1, 0, facename) #bold
    addMapping(facename, 1, 1, facename) #italic and bold [/code]

    [[i] 本帖最后由 ooop 于 2008-1-16 17:27 编辑 [/i]]


  • 管理员

    参照wiki里的说明修改trml2pdf.py文件