我正在尝试使用Python / Elaphe生成code128条形码,这是基于纯Postscript(BWIPP)中的条形码编写器。奇怪的是,Elaphe生成的条形码与BWIPP生成的条形码不匹配,不符合128号标准。
特别是,我尝试了一个简单的例子,为字母“A”生成条形码(大写字母A):
from elaphe import barcode
b = barcode('code128', 'A')
b.show()
这很好用,但生成的条形码缺少正确的部分。它是35像素宽,应该是46.条形码的左边部分与BWIPP和其他所有code128生成器生成的部分相匹配 - 它只是缺少的正确部分。
任何人都知道什么是错的?
(在Kubuntu 15.10上使用pyp 2.7.0和python 2.7.10)
答案 0 :(得分:0)
查看此错误报告: https://bitbucket.org/whosaysni/elaphe/issues/84/code-128-generation-produces-unreadable
似乎此错误已在当前源版本中修复,此错误仍标记为新错误。 修复此bug的修补程序: https://bitbucket.org/whosaysni/elaphe/commits/19dd8f58c76ac75914e3e4d8ae7db1b9489cbcb8?at=develop
此补丁来自2014-10-22,当前版本在pypi上的0.6.0是从2013-12-05开始。如果你是通过pip安装的,那你就有了错误的版本。
此项目https://pypi.python.org/pypi/elaphe3已启用python3启用分叉,已在2016-05-25上传。所以这个fork可能包含必要的bugfix。你可以删除elaphe并安装elaphe3。
然而,考虑到elaphe(至少非3版本)看起来相当放弃并且GhostScript和PIL作为依赖关系,我会寻找另一种解决方案。