在 Django 站点中生成条形码

发布于 2024-11-18 06:29:45 字数 282 浏览 3 评论 0原文

我想在 Django 站点中添加条形码生成,并且想知道最好的库或 api 是什么。我的第一个偏好是可以从 Python 调用的东西 - 要么用 Python 编写,要么用 C/C++ 库编写,我可以用 ctypes/SWIG 包装它。否则,如果必须的话,我可以调用命令行。

我至少需要 EAN 和 UPC 符号体系。

我尝试过 pybarcode 但图像质量太低。 Elaphe 看起来很有希望,但从 Python 解释器来看,我只能生成一个 QR 码——EAN 和 UPC 出错(可能是因为文档中语法/用法不清楚)。

I want to add barcode generation in a Django site and wonder what the best library or api would be. My first preference is something callable from Python - either written in Python or a C/C++ lib that I can wrap with ctypes/SWIG. Otherwise I can call out to the command line if must be.

I need at least EAN and UPC symbologies.

I've tried pybarcode but the image quality is too low. And Elaphe looks promising but from the Python interpreter all I could make was a QR Code -- EAN and UPC errored out (maybe because the syntax/usage was unclear from the documentation).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

旧夏天 2024-11-25 06:29:45

使用 pybarcode 并将条形码生成为 SVG:http://packages。 python.org/pyBarcode/barcode.html#creating-barcodes-as-svg

在这种情况下图像质量没有问题。

Use pybarcode and generate the barcode as SVG: http://packages.python.org/pyBarcode/barcode.html#creating-barcodes-as-svg

No problem of image quality in that case.

梦途 2024-11-25 06:29:45

这个线程已经很老了,但万一其他人正在寻找这个问题的答案...... code39 是一种字体,就像大多数类型的条形码一样。您可以简单地使用谷歌字体:
https:// /fonts.google.com/specimen/Libre+Barcode+39+Extended+Text?selection.family=Libre+Barcode+39+Extended+Text

除了该选项之外,您还可以托管静态文件,一种解决方案可能是 github 上的这个项目:

https://github.com/Holger -Will/code-39-font

在该项目中,您需要的只是与所需大小相关的文件以及 code39_all.css 文件。如果你愿意的话,其余的你可以删除。

为了供您参考,我在这里使用两者:

{% load staticfiles %}
{% load static %}
<html>
  <head>
    <link href="https://fonts.googleapis.com/css?family=Libre+Barcode+39+Extended+Text" rel="stylesheet">
    <link rel="stylesheet" href="{% static 'code-39-font-master/code39_all.css' %}"/>
  </head>   
  <body>
    <style>

        body {
            font-family: 'Libre Barcode 39 Extended Text', cursive;
            font-size: 48px;
        }
    </style>
      <div>I'm just a code39 google font</div>
      <div><class="code_39_S">I'm generated with static files!</div>

  </body>
</html>

This thread is quite old, but in case anyone else is looking for an answer to this... code39 is a font, as are most types of barcode. You can simply use google fonts:
https://fonts.google.com/specimen/Libre+Barcode+39+Extended+Text?selection.family=Libre+Barcode+39+Extended+Text

Aside from that option, you could host static files, one solution could be this project on github:

https://github.com/Holger-Will/code-39-font

In that project all you need are the files associated with the size you want, and the code39_all.css file. The rest you could delete, if you like.

For your reference, I'm using both here:

{% load staticfiles %}
{% load static %}
<html>
  <head>
    <link href="https://fonts.googleapis.com/css?family=Libre+Barcode+39+Extended+Text" rel="stylesheet">
    <link rel="stylesheet" href="{% static 'code-39-font-master/code39_all.css' %}"/>
  </head>   
  <body>
    <style>

        body {
            font-family: 'Libre Barcode 39 Extended Text', cursive;
            font-size: 48px;
        }
    </style>
      <div>I'm just a code39 google font</div>
      <div><class="code_39_S">I'm generated with static files!</div>

  </body>
</html>
無處可尋 2024-11-25 06:29:45

reportlab 可能是 pybarcode 的一个很好的替代品,特别是在使用它的一些其他功能时。

有一个关于 Django 中的条形码和 reportlab 的指南,对我来说很有效。
https://code.djangoproject.com/wiki/Barcodes

reportlab could be a good alternative to pybarcode, especially when using some of its other features.

There is a howto for barcodes in Django with reportlab, works well for me.
https://code.djangoproject.com/wiki/Barcodes

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文