【问题标题】:django pisa - pagenumber just for two or more pages - show pagenumber of total pagesdjango pisa - 仅用于两个或更多页面的页码 - 显示总页数的页码
【发布时间】:2012-05-24 06:47:06
【问题描述】:

是否有可能只为两页或多页显示 django pisa 的页码? 显示页码的模板如下所示:

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

我认为有必要在比萨处理之前获取页数。使用类似这种伪的 if/else 语句的任何选项:

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

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

【问题讨论】:

    标签: django pisa page-numbering


    【解决方案1】:

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

    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>
    

    【讨论】:

    • Middasparka,你的 1 字符编辑的唯一目的是为了赢得声誉?
    【解决方案2】:

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

    https://github.com/chrisglass/xhtml2pdf

    我的模板页脚如下所示:

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

    【讨论】:

      【解决方案3】:

      我认为您可以在不使用https://github.com/chrisglass/xhtml2pdf 的情况下做到这一点。 我所做的是, 我使用如下分页符:

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

      h1 的 CSS 是

      h1 {
          page-break-before:always;
      }
      

      现在,您可以使用

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-09-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-21
        • 1970-01-01
        • 2011-07-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多