我想在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>`
问题是,我想将一张纸上打印的条形码数限制为24.有没有办法做到这一点?
答案 0 :(得分:2)
您可以使用以下方法在每24个条形码后添加分页符:
{% if count % 24 %}<div style="page-break-before: always;"></div>{% endif %}
答案 1 :(得分:0)
HTML没有一个非常好的“纸张尺寸”概念。 HTML页面具有无限高度和browser's are notoriously bad a printing HTML in a readable way(除了Opera之外)。
With CSS 3, three page break properties were defined.
您的浏览器可能会支持它们。如果是,则在<div>
中包装24个条形码,并为该<div>
提供一个告诉浏览器在之后打破页面的类。
如果浏览器最后会发出一个空白页面,那么您需要两个类:一个用于第一个<div>
没有分页符,一个用于每个连续<div>
和一个page-break-before: always;
如果效果不好,你应该看一下PDF。 PDF允许您将元素精确放置在具有已知固定大小的页面上。