2

I wanted to print barcodes using for loop in python. This is my code:

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

The problem is,I wanted to restrict the number of barcodes printed on one sheet of paper to 24.Is there any way to do that?

4

2 回答 2

3

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

{% if count % 24 %}<div style="page-break-before: always;"></div>{% endif %}
于 2015-01-06T12:21:23.770 回答
0

HTML 没有一个很好的“纸张大小”概念。HTML 页面具有无限的高度,而浏览器以可读的方式打印 HTML 是出了名的糟糕(Opera 除外)。

在 CSS 3 中,定义了三个分页符属性。

您的浏览器可能支持它们。如果是,则将 24 个条形码包装在 a 中<div>,并为该类提供<div>一个类,该类告诉浏览器事后中断页面。

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

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

于 2015-01-05T14:30:44.837 回答