2012-05-24 2 views
3

Есть ли возможность показать pagenumber с django pisa только для двух или более страниц? Шаблон для показа до PageNumber выглядит следующим образом:django pisa - pagenumber только для двух или более страниц - показать общее количество страниц

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

Я думаю, что это необходимо, чтобы получить число страниц, прежде чем они будут обработаны Пизой. Любой вариант использования оператора if/else, такого как этот псевдо:

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

Если вы хотите отобразить, например, Страница 1/5 (страница одна из пяти) также необходимо получить количество страниц?! Для этого нет решения в Пизе?

ответ

1

В текущей версии python-pisa это невозможно. Однако есть некоторые исправления. Если вы используете версию pisa или xhtml2pdf из этого github, вы сможете получить общее количество страниц.

https://github.com/chrisglass/xhtml2pdf

Мой шаблон сноска выглядит следующим образом:

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

У меня была проблема с добавлением счетчик, который бы мне сказать, что номер страницы я смотрел на из общего количества страниц в документ. Он получил его на работу, когда я переключить импорт Pisa из:

import ho.pisa as pisa 

в

import xhtml2pdf.pisa as pisa 

Установите xhtml2pdf с пипом

pip install xhtml2pdf 

Это то, что моя сноска выглядит сейчас

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

Middasparka, ваш 1-char редактирует только цель - игра SO для репутации? – krs

1

Я думаю, вы можете это сделать без использования https://github.com/chrisglass/xhtml2pdf. Что я сделал есть я использовать разрыв страницы, как показано ниже:

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

и CSS для h1 является

h1 { 
    page-break-before:always; 
} 

Теперь вы можете получить количество страниц с помощью

<your-html-string>.count('PAGECOUNT') + 1 
Смежные вопросы