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