我想在Django网站中添加条形码生成,并想知道最好的库或api是什么。我的第一个偏好是可以从Python调用的东西 - 用Python编写或C / C ++ lib,我可以用ctypes / SWIG包装。否则,如果必须,我可以调用命令行。
我至少需要EAN和UPC符号。
我尝试过pybarcode,但图像质量太差了。而且Elaphe看起来很有希望,但是从Python解释器我可以做的只是一个QR码 - EAN和UPC错误(可能是因为文档中的语法/用法不清楚)。
答案 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>