Можем ли мы использовать разрывы страниц для циклов?
Я хотел напечатать штрих-коды, используя для цикла в Python. Это мой код:
`{%- from "templates/print_formats/standard_macros.html" import add_header -%}
<hr>
{% set a = doc.end %}
{% set count = 0 %}
<div class="row">
{%- for i in range(doc.start,doc.end) -%}
<div class="col-md-4 text-center">
<p style="font-family: Code39AzaleaFont;font-weight: normal;font-style: normal;font-size:30px;">
00000000000000{{ i }}</p>
{% set count = count + 1 %}
{{count}}
<br/>
</div>
{%- endfor -%}
</div>
<hr>
<br>
<p class="strong">
<br>
<br>
<br>
{{ _("Authorized Signatory") }}
</p>
</div>`
Проблема в том, что я хотел ограничить количество штрих-кодов, напечатанных на одном листе бумаги, до 24. Есть ли способ сделать это?
2 ответа
Вы можете добавить разрыв страницы после каждого 24-го штрих-кода, используя:
{% if count % 24 %}<div style="page-break-before: always;"></div>{% endif %}
У HTML нет действительно хорошего понятия "размер листа бумаги". HTML-страница имеет бесконечную высоту, а браузеры печально печатают HTML в удобочитаемом виде (с заметным исключением из Opera).
В CSS 3 были определены три свойства разрыва страницы.
Они могут поддерживаться вашим браузером. Если они есть, то заверните 24 штрих-кода в <div>
и дать это <div>
класс, который сообщает браузеру, чтобы он потом ломал страницу.
Если браузер выдает пустую страницу в конце, то вам нужно два класса: один для первого <div>
без разрыва страницы и по одному на каждый последующий <div>
и page-break-before: always;
Если это не сработает, посмотрите на PDF. PDF позволяет размещать элементы точно на страницах с известным фиксированным размером.