在 Django 站点中生成条形码
我想在 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用 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.
这个线程已经很老了,但万一其他人正在寻找这个问题的答案...... 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 文件。如果你愿意的话,其余的你可以删除。
为了供您参考,我在这里使用两者:
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:
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