Написание многостраничного pdf из шаблона html с использованием weasy print и django

Привет, я создаю PDF-файлы из шаблона html, содержащего таблицу, количество строк которой варьируется, проблема заключается в том, что когда строки превышают определенное число (12), остальные строки плюс нижний колонтитул помещаются ниже и не отображаются в сгенерированном pdf. Как я могу сделать его динамическим, чтобы дополнительная информация помещалась на новую страницу, каждая из которых имела по крайней мере определенное количество строк, или есть ли способ печати для перемещения данных на другую страницу, если текущая заполнена

Пока у меня есть разрывы страниц в шаблоне, но это сработало.

{% for record in data %}
    <tr>
        <td> {{ record.id}}</td>
        <td> {{ record.date}}</td>
    </tr>
    {% if forloop.counter|divisibleby:12 %}
        <div style="page-break-after: always;"></div>
        div style="page-break-before: always;"></div>
    {% endif %}
{% endfor %}

person StackEdd    schedule 02.02.2018    source источник
comment
Видите ли вы вообще какую-либо таблицу в своем PDF-файле? Я скопировал вашу разметку и стиль, и я не могу, я могу в HTML...   -  person Adam Barnes    schedule 02.02.2018
comment
да, я вижу стол, @AdamBarnes   -  person StackEdd    schedule 02.02.2018
comment
Не могли бы вы сделать мне одолжение и проверить мой репозиторий — теперь обновленный с вашим код, и дайте мне знать, если вы видите таблицу в формате PDF? Я вижу это только в HTML, и мне интересно, что происходит...   -  person Adam Barnes    schedule 02.02.2018
comment
@AdamBarnes Я тоже не могу просмотреть таблицу, не знаю, в чем может быть проблема   -  person StackEdd    schedule 05.02.2018
comment
Ну тогда - твой вопрос дал мне вопрос. :D   -  person Adam Barnes    schedule 05.02.2018


Ответы (2)


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

person StackEdd    schedule 02.02.2018
comment
Этот комментарий - золото. - person JaredOzzy; 21.07.2020

Я собрал репозиторий, чтобы попытаться воспроизвести вашу проблему здесь, и был не в состоянии.

В вашем вопросе есть небольшая синтаксическая ошибка - вам не хватает < во втором <div />, но кроме этого все выглядит хорошо.

person Adam Barnes    schedule 02.02.2018
comment
спасибо, это кажется гладким, может быть, мои стили вызывают проблему. - person StackEdd; 02.02.2018
comment
Это, безусловно, возможно, опубликуйте свой CSS в ответе, и я обновлю свой ответ, если/когда обнаружу проблему. - person Adam Barnes; 02.02.2018
comment
Я добавил шаблон плюс CSS на вопрос. - person StackEdd; 02.02.2018