我们可以在 for 循环中使用分页符吗?

Can We use page breaks in for loops?

我想在 python 中使用 for 循环打印条形码。这是我的代码:

`{%- 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>`

问题是,我想将打印在一张 sheet 纸上的条形码数量限制在 24.Is 有什么办法吗?

HTML 对 "paper sheet size" 没有很好的概念。 HTML 页面具有无限高度和 browser's are notoriously bad a printing HTML in a readable way(Opera 明显例外)。

With CSS 3, three page break properties were defined.

您的浏览器可能支持它们。如果是,则将 24 个条形码包装在 <div> 中,并给 <div> 一个 class,告诉浏览器之后断开页面。

如果浏览器在末尾发出一个空页面,那么您需要两个 classes:一个用于第一个 <div> 没有分页符,一个用于每个后续的 <div>和一个 page-break-before: always;

如果效果不佳,您应该查看 PDF。 PDF 允许您将元素准确地放置在具有已知固定大小的页面上。

您可以使用以下方法在每第 24 个条码后添加一个分页符:

{% if count % 24 %}<div style="page-break-before: always;"></div>{% endif %}