跳转到主要内容

使用Python创建标准条码。不需要外部模块(包含可选的PIL支持)。

项目描述

Viivakoodi (芬兰语中的条码) 是 pyBarcode 项目的分支。

此库提供了使用Python标准库创建条码的简单方法。条码作为SVG对象创建。

https://github.com/kxepal/viivakoodi/issues/ 报告错误

要求

  • Setuptools/distribute用于安装(自0.7beta4版新增)

  • Python 2.6或更高版本(包括Python 3.x)

  • 在Python 2.6、3.0、3.1上:argparse(用于命令行脚本)

  • 打开SVG对象的程序(您的浏览器应该可以做到这一点)

  • 可选:PIL将条码渲染为图像(PNG、JPG等)

安装

请确保已安装setuptools/distribute。

解压缩下载的文件,进入viivakoodi目录并运行 python setup.py install。或者只需将条码目录复制到您的PYTHONPATH中的某个位置。

最佳方式是使用pip: pip install 条码库

提供的条码

EAN-8, EAN-13, UPC-A, JAN, ISBN-10, ISBN-13, ISSN, Code 39, Code 128, PZN

待办事项

  • 添加文档

  • 添加更多代码

  • 改进Python 3支持

  • 添加简单GUI

用法

交互式

>>> import barcode
>>> barcode.PROVIDED_BARCODES
[u'code39', u'code128', u'ean', u'ean13', u'ean8', u'gs1', u'gtin',
 u'isbn', u'isbn10', u'isbn13', u'issn', u'jan', u'pzn', u'upc', u'upca']
>>> EAN = barcode.get_barcode_class('ean13')
>>> EAN
<class 'barcode.ean.EuropeanArticleNumber13'>
>>> ean = EAN(u'5901234123457')
>>> ean
<barcode.ean.EuropeanArticleNumber13 object at 0x00BE98F0>
>>> fullname = ean.save('ean13_barcode')
>>> fullname
u'ean13_barcode.svg'
# Example with PNG
>>> from barcode.writer import ImageWriter
>>> ean = EAN(u'5901234123457', writer=ImageWriter())
>>> fullname = ean.save('ean13_barcode')
u'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) # PIL (ImageWriter) produces RAW format here
# New in v0.5.0
>>> from barcode import generate
>>> name = generate('EAN13', u'5901234123457', output='barcode_svg')
>>> name
u'barcode_svg.svg'
# with file like object
>>> fp = StringIO()
>>> generate('EAN13', u'5901234123457', writer=ImageWriter(), output=fp)
>>>

现在在图形应用程序或您的浏览器中打开 ean13_barcode.[svg|png],然后查看创建的条码。就是这样。

命令行

$ pybarcode{2,3} create "My Text" outfile
New barcode saved as outfile.svg.
$ pybarcode{2,3} create -t png "My Text" outfile
New barcode saved as outfile.png.

Try `pybarcode -h` for help.

变更日志

v0.8:

添加了Code 128。字符集和数据条移至子包barcode.charsets。

v0.7:

修复了字体大小和字体对齐的一些问题。添加了Python 3支持。尚未经过充分测试,但使用Python 3.3运行测试时没有错误。增加了命令行脚本。

v0.6:

将保存和写入方法修改为接收字典形式的选项,而不是关键字参数(请在您的代码中修复此问题)。添加了在条码下左对齐文本的选项。修复了EAN13生成的错误。

v0.5.0:

添加了新的生成函数,一步完成所有生成操作。将writer从子包移至模块(这会破坏一些现有代码)。UPC现在以真实的UPC形式渲染,而不是以带前导“0”的EAN13形式。

v0.4.3:

修复了新写入方法中的错误(与PIL相关)并更新了文档。

v0.4.2:

添加了写入方法以支持将目标作为文件对象。

v0.4.1:

错误修复版本。移除了输入验证中的冗余。EAN8有问题。现在它按预期工作。

v0.4:

从writers __init__ 方法中移除了 **options。这些选项从未起作用。它们总是被默认选项覆盖。新的配置选项:text_distance(条码和文本之间的距离)。

v0.4b2:

包含了基本文档。现在条码对象有一个新的属性称为 raw,用于获取渲染输出而不保存到磁盘。

v0.4b1:

实现了将条码作为图像渲染的支持。使用PIL是必须的。

v0.3:

SVG输出的压缩现在有效。

v0.3b1:

Writer API已更改,以便简单地添加新的(自己的)writer。现在SVG输出使用xml.dom模块生成,而不是字符串格式化(使其更健壮)。

v0.2.1:

render的API已更改。现在render接收关键字参数,而不是字典。

v0.2:

增加了更多测试。

v0.1:

第一个版本。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

viivakoodi-0.8.0.tar.gz (224.8 kB 查看散列值)

上传时间 源代码

由以下机构支持