代码之家  ›  专栏  ›  技术社区  ›  Joril

使用ReportLab显示页面计数

  •  13
  • Joril  · 技术社区  · 16 年前

    this old post
    我发现 this recipe 也是,但当我使用它时,生成的PDF缺少图像。。

    3 回复  |  直到 16 年前
        1
  •  11
  •   adam    16 年前

    我能够从ActiveState实现NumberedCanvas方法。这是非常容易做到的,并没有改变我现有的代码很多。我所要做的就是添加NumberedCanvas类,并在构建文档时添加canvasmaker属性。我还更改了显示“x/y”的位置的测量值:

    self.doc.build(pdf)
    

    成为

    self.doc.build(pdf, canvasmaker=NumberedCanvas) 
    

    医生 是我的可流动元素列表。

        2
  •  4
  •   Wolfgang Rohdewald    13 年前

    在页眉方法中(由“onLaterPages=”定义):

    global TOTALPAGES
    if doc.page > TOTALPAGES:
        TOTALPAGES = doc.page
    else:
        canvas.drawString(270 * mm, 5 * mm, "Seite %d/%d" % (doc.page,TOTALPAGES))
    
        3
  •  1
  •   Ali Afshar    16 年前

    为您挖掘一些代码,我们使用以下代码:

    SimpleDocTemplate(...).build(self.story,
                                 onFirstPage=self._on_page,
                                 onLaterPages=self._on_page)
    

    self._on_page 是为每个页面调用的方法,如:

    def _on_page(self, canvas, doc):
        # ... do any additional page formatting here for each page
        print doc.page