Как сделать разрыв страницы на weasyprint?
Интересно, можно ли создать принудительный разрыв, который разделяет строки таблицы? Я думаю, что Weasyprint делает это в некотором смысле, но я хочу разбить строки на определенные количества (например, 6 строк на страницу). Возможно ли это? Я пробовал что-то вроде этого:
<table>
<tr>
<th>Header1</th>
<th>Header2</th>
</tr>
{% for d in data %}
{% if forloop.counter == 6 %}
<p style="page-break-before: always;"></p>
{% endif %}
<tr>
<td>{{ d.name }}</td>
<td>{{ d.age }}</td>
</tr>
{% endfor %}
</table>
но он просто разбивает каждую строку на разные страницы. Любая помощь будет принята с благодарностью.
Попробуйте использовать атрибут style на элементе tr без добавления элемента p :
<table>
<tr>
<th>Header1</th>
<th>Header2</th>
</tr>
{% for d in data %}
<tr
{% if forloop.counter == 6 %}
style="break-before: page;"
{% endif %}
>
<td>{{ d.name }}</td>
<td>{{ d.age }}</td>
</tr>
{% endfor %}
</table>
Обратите внимание, что page-break-before устарел : MDN. Обратите также внимание, что результат может быть не очень красивым, возможно, вам придется добавить margin-top или что-то еще, а также некоторые границы в начале и конце каждого блока строк.