Reportlab显示页面编号和页面计数如果文档中有多个页面

时间:2014-02-20 10:09:34

标签: python reportlab

如果文档中有多个页面,那么任何人都可以在Reportlab生成的文档中显示如何显示“Y页面X”的示例(如果只有一页,则不显示任何内容)。我知道一些解决方案,但无论页码总数如何,它们都会标记页面。

2 个答案:

答案 0 :(得分:1)

实际上这很容易。 Asif对SO How to add total page count in PDF using reportlab的回答对我有所帮助。唯一需要的是在save()函数中添加了'if'子句。原始代码在这里: http://code.activestate.com/recipes/576832/

Tweeked save()函数是:


def save(self):
    """add page info to each page (page x of y)"""
    num_pages = len(self._saved_page_states)
    for state in self._saved_page_states:
        self.dict.update(state)
        ### just a little tweek here
        if num_pages > 1:
            self.draw_page_number(num_pages)
        canvas.Canvas.showPage(self)
    canvas.Canvas.save(self)

答案 1 :(得分:0)

如果使用报告实验室.prep标记语言,则以下内容适用于显示当前页码:

    <drawString x="475" y="30"Page <pageNumber/></drawString>