Можем ли мы использовать разрывы страниц для циклов?

Я хотел напечатать штрих-коды, используя для цикла в 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 позволяет размещать элементы точно на страницах с известным фиксированным размером.

Другие вопросы по тегам