在Django站点生成条形码

时间:2011-07-01 20:24:00

标签: django barcode

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

我至少需要EAN和UPC符号。

我尝试过pybarcode,但图像质量太差了。而且Elaphe看起来很有希望,但是从Python解释器我可以做的只是一个QR码 - EAN和UPC错误(可能是因为文档中的语法/用法不清楚)。

3 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:0)

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

使用reportlab对Django中的条形码有一个方法,对我来说效果很好。 https://code.djangoproject.com/wiki/Barcodes

答案 2 :(得分:0)

此线程很旧,但是如果其他任何人都在寻找答案... code39是一种字体,大多数类型的条形码也是如此。您可以简单地使用Google字体: 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>