使用python创建标准条码。不需要外部模块。(包括可选的枕头支架)。
python-barcode的Python项目详细描述
这个库提供了一种简单的方法,只使用 Python标准库条形码被创建为SVG对象
请在https://github.com/WhyNotHugo/python-barcode/issues
报告任何错误要求
- 安装工具/分发以进行安装。
- python 3.5或更高版本
- 打开SVG对象的程序(您的浏览器应该这样做)
- 可选:枕头将条形码呈现为图像(PNG、JPG…)
安装
最好的方法是使用pip:pip install python-barcode。
您还可以通过下载tarball、提取tarball和 正在运行python setup.py install
提供的条形码
- EAN-8
- EAN-13
- EAN-14
- UPC-A
- 一月
- ISBN-10
- ISBN-13号
- ISSN
- 代码39
- 代码128
- PZN
待办事项
- 添加文档
- 添加更多代码
用法
互动式:
>>> import barcode >>> barcode.PROVIDED_BARCODES ['code39', 'code128', 'ean', 'ean13', 'ean8', 'gs1', 'gtin', 'isbn', 'isbn10', 'isbn13', 'issn', 'jan', 'pzn', 'upc', 'upca'] >>> EAN = barcode.get_barcode_class('ean13') >>> EAN <class 'barcode.ean.EuropeanArticleNumber13'> >>> ean = EAN('5901234123457') >>> ean <barcode.ean.EuropeanArticleNumber13 object at 0x00BE98F0> >>> fullname = ean.save('ean13_barcode') >>> fullname 'ean13_barcode.svg' # Example with PNG >>> from barcode.writer import ImageWriter >>> ean = EAN('5901234123457', writer=ImageWriter()) >>> fullname = ean.save('ean13_barcode') 'ean13_barcode.png' # New in v0.4.2 >>> from StringIO import StringIO >>> fp = StringIO() >>> ean.write(fp) # or >>> f = open('/my/new/file', 'wb') >>> ean.write(f) # Pillow (ImageWriter) produces RAW format here # New in v0.5.0 >>> from barcode import generate >>> name = generate('EAN13', '5901234123457', output='barcode_svg') >>> name 'barcode_svg.svg' # with file like object >>> fp = StringIO() >>> generate('EAN13', '5901234123457', writer=ImageWriter(), output=fp) >>>
现在在图形应用程序中或在浏览器中打开EAN13_u条码。[SVG PNG] 并查看创建的条形码。就这样。
命令行:
$ python-barcode create "My Text" outfile New barcode saved as outfile.svg. $ python-barcode create -t png "My Text" outfile New barcode saved as outfile.png. Try `python-barcode -h` for help.
变更日志
v0.9.1
- 正式支持Python3.7
- 参考文档中的枕头,而不是PIL。
v0.9.0
- 删除了错误的Barcode.raw属性
- 各种cli错误都解决了。
- 使writer_options`的默认值在编写器之间保持一致。
v0.8.3
- 修复将发行版推送到github的问题。
v0.8.2
- 修复尝试使用cli应用程序时的崩溃。
- 在svg注释中正确地包含版本号。
v0.8.1
- 改进自述文件呈现,并指向这个fork的位置(过时的 关于pypi的自述文件引起了一些混乱)。
v0.8.0
- 第一个版本名为python-barcode。
以前的更改日志
这个项目是pyBarcode的一个分支,显然,它不再是 保持。v0.8.0是我们的第一个版本,也是最新的master版本 父项目
v0.8
- 代码128已添加。
- 已将字符集和条形图的数据移动到子包barcode.charsets。
- 合并了一些改进。
v0.7
- 修复了FontSize和FontAlignment的一些问题。
- 添加了Python3支持。它还没有很好的测试,但是测试没有 Python 3.3的错误命令行脚本已添加
v0.6
- 更改了保存和写入方法以将选项作为dict而不是关键字 参数(在代码中修复此问题)。添加了将文本左对齐的选项 条形码。修正了EAN13代的错误。
v0.5.0
- 添加了新的生成函数来一步完成所有生成
- 将写入器从子包移动到模块(这打破了一些现有代码)。 upc现在呈现为真正的upc,而不是带前导“0”的ean13。
v0.4.3
- 修正了新写方法(与pil相关)和更新文档中的错误。
v0.4.2
- 添加了write方法以支持将类似文件的对象作为目标。
v0.4.1
- 错误修复版本删除了输入验证中的冗余。
- EAN8坏了。现在一切如期而至
v0.4
- 已从writer初始化方法中删除**选项这些选择从来没有 效果。默认情况下,它们总是被覆盖
- 新的配置选项可用:文本距离(条形码和 文本)。
v0.4b2
- 包括基本文件。条形码对象现在有一个新属性 调用raw以获得渲染输出而不保存到磁盘。
v0.4b1
- 实现了对条码图像渲染的支持。要求PIL 使用它。
v0.3
- svg输出的压缩现在可以工作了。
v0.3b1
- writer api已更改,只需添加新的(自己的)writer。
- SVG输出现在是用xml.dom模块而不是stringformatting生成的 (使它更加健壮)。
v0.2.1
- 呈现的API已更改。现在render接受关键字参数而不是dict。
v0.2
- 增加了更多测试。
v0.1
- 第一次释放。