跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 开发与实施交流
  4. 基于Lodop的报表打印模块

基于Lodop的报表打印模块

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
16 帖子 9 发布者 17.9k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • D 离线
    D 离线
    d_yang
    写于 最后由 编辑
    #7

    [quote author=dquo link=topic=7397.msg16900#msg16900 date=1373108877]
    ActiveX只支持windows,所以本控件不适用linux,mac osx.
    是不是指客户端只能在WINDOWS上,还是服务器必须在WINDOWS上?
    [/quote]
    sorry, 没说清楚。
    客户端不支持非Windows.

    1 条回复 最后回复
    0
    • D 离线
      D 离线
      d_yang
      写于 最后由 编辑
      #8

      [quote author=Joshua link=topic=7397.msg16902#msg16902 date=1373109235]
      mako模板能重复表头么?
      [/quote]

      lodop里,addprinttable方法可以把table里面 <theader>标签转为你说的,表头,tfoot标签转换为页脚。
      tbody里,就是明细部分了,自动根据页面高度分页。

      另外lodop还支持一些标签,比如,总页数,当前页数,数字大写转换,统计,等。

      1 条回复 最后回复
      0
      • D 离线
        D 离线
        d_yang
        写于 最后由 编辑
        #9

        [quote author=ccdos link=topic=7397.msg16901#msg16901 date=1373109017]
        又见大作
        [/quote]

        不敢,自己方便,也希望与人方便。

        1 条回复 最后回复
        0
        • JoshuaJ 离线
          JoshuaJ 离线
          Joshua 管理员
          写于 最后由 编辑
          #10

          [quote author=d_yang link=topic=7397.msg16907#msg16907 date=1373119368]
          [quote author=Joshua link=topic=7397.msg16902#msg16902 date=1373109235]
          mako模板能重复表头么?
          [/quote]

          lodop里,addprinttable方法可以把table里面 <theader>标签转为你说的,表头,tfoot标签转换为页脚。
          tbody里,就是明细部分了,自动根据页面高度分页。

          另外lodop还支持一些标签,比如,总页数,当前页数,数字大写转换,统计,等。
          [/quote]

          好东西。谢谢@d_yang分享。

          【上海先安科技】(joshua AT openerp.cn),欢迎关注公众号:openerp_cn

          1 条回复 最后回复
          0
          • W 离线
            W 离线
            wangbuke
            写于 最后由 编辑
            #11

            先留记号,慢慢研究,谢谢分享 ~

            1 条回复 最后回复
            0
            • Q 离线
              Q 离线
              qq342406169
              写于 最后由 编辑
              #12

              mark,马上研究报表开发了

              1 条回复 最后回复
              0
              • mrshellyM 离线
                mrshellyM 离线
                mrshelly
                写于 最后由 编辑
                #13

                ActiveX 代码不开源的哦?
                会不会存在一些安全漏洞?
                我看API有一些关于硬件操作的东西...

                1 条回复 最后回复
                0
                • D 离线
                  D 离线
                  d_yang
                  写于 最后由 编辑
                  #14

                  [quote author=mrshelly link=topic=7397.msg16915#msg16915 date=1373239851]
                  ActiveX 代码不开源的哦?
                  会不会存在一些安全漏洞?
                  我看API有一些关于硬件操作的东西...
                  [/quote]

                  未知。
                  这个控件用两年了,本想自己写一个,但是这个确实很方便。
                  如果不是为了进行硬件操作,activex就省了。 ;D

                  1 条回复 最后回复
                  0
                  • C 离线
                    C 离线
                    codefans
                    写于 最后由 编辑
                    #15

                    跟rml 区别不是很大的样子

                    1 条回复 最后回复
                    0
                    • J 离线
                      J 离线
                      joe_shenzhen
                      写于 最后由 编辑
                      #16

                      首先,非常感谢 LZ 的 分享大作。 刚好在弄打印这块,而且还真的是要用lodop来做这个。 所以受益匪浅。
                      然后,这里有个问题,想跟LZ请教下,

                      在使用以下我的sample.mako模板代码时,发现maktohtml2html.py文件中的 方法 format_body中,有一个问题。

                      body[:-1]得到是一个空的list, 因为 body = html.findall("body"), 对于一个Html文件来说, <body>标签只有1个。 所以这个我觉得是个问题,不知道LZ是什么解决的? 我一个小打算,是直接提bug,修改openerp的源码来搞定这件事情。 不知道还有其他的方法没有?

                      openerp 的源码部分:

                          def format_body(self, html):
                              body = html.findall('body')
                              body_list = []
                              footer =  self.format_footer(body[-1].getchildren())
                              for b in body[:-1]:
                                  body_list.append(etree.tostring(b).replace('\t', '').replace('\n',''))


                      mako文件的代码。(文件名不是html,在openerp报告中没有问题。)
                      <html>
                      <head>
                      <title>test mako template</title>
                      </head>
                      <body>

                      <table>
                      order_number: 12345
                      </table>

                      <footer>
                      </footer>
                      </body>
                      </html>

                      1 条回复 最后回复
                      0

                      • 登录

                      • 没有帐号? 注册

                      • 登录或注册以进行搜索。
                      • 第一个帖子
                        最后一个帖子
                      0
                      • 版块
                      • 标签
                      • 热门
                      • 用户
                      • 群组