django pisa - 仅限两页或更多页面的页码 - 显示总页数

时间:2012-05-24 06:47:07

标签: django pisa page-numbering

是否有可能只显示两个或更多页面的django pisa页面编号? 显示pagenumber的模板如下所示:

<div id="footerContent">
   <p>Page <pdf:pagenumber></p>
</div>

我认为在比萨处理页面之前需要获取页数。任何使用if / else语句的选项,如this:

if pages > 1:
 ...
else:
 ...

如果您想要显示例如 Page 1/5 (五页的第一页)还需要获取页数?!比萨没有解决方案吗?

3 个答案:

答案 0 :(得分:2)

我在添加一个计数器时遇到问题,该计数器会告诉我我在文档中的页面总数中查看了哪个页码。当我从以下位置切换pisa导入时,它可以正常工作:

import ho.pisa as pisa

import xhtml2pdf.pisa as pisa 

使用pip安装xhtml2pdf

pip install xhtml2pdf

这就是我的页脚现在的样子

<div id="footerContent">
    {%block page_foot%}
        Page <pdf:pagenumber> / <pdf:pagecount>
    {%endblock%}
</div>

答案 1 :(得分:1)

这在当前版本的python-pisa中是不可能的。但是它有一些补丁。如果您使用此github中的pisa或xhtml2pdf版本,您将能够获得总页数。

https://github.com/chrisglass/xhtml2pdf

我的模板页脚如下所示:

<div id="footerContent">
  "Page: <pdf:pagenumber> / <pdf:pagecount>
</div>

答案 2 :(得分:1)

我认为你可以在不使用https://github.com/chrisglass/xhtml2pdf的情况下完成。 我做的是, 我使用分页符如下:

<h1 style="display:none">PAGECOUNT</h1>

和h1的CSS是

h1 {
    page-break-before:always;
}

现在,您可以使用

获取页数
<your-html-string>.count('PAGECOUNT') + 1