Odoo 中文社区

    • 注册
    • 登录
    • 搜索
    • 版块
    • 标签
    • 热门
    • 用户
    • 群组

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

    由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

    本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

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

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

    TinyERP linux下中文打印问题

    Odoo 开发与实施交流
    2
    5
    7687
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • O
      ooop 最后由 编辑

      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

      1 条回复 最后回复 回复 引用 0
      • digitalsatori
        digitalsatori 管理员 最后由 编辑

        解答一:它的这个说明是针对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]]

        【上海先安科技】(tony AT openerp.cn)

        1 条回复 最后回复 回复 引用 0
        • O
          ooop 最后由 编辑

          用如下命令替换成功,可惜打印还是不灵。
          还差什么?[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]]

          1 条回复 最后回复 回复 引用 0
          • digitalsatori
            digitalsatori 管理员 最后由 编辑

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

            【上海先安科技】(tony AT openerp.cn)

            1 条回复 最后回复 回复 引用 0
            • First post
              Last post