新一代pyqrcode——一个纯粹用python编写的二维码生成器,带有svg、eps、png和终端输出。
PyQRCodeNG的Python项目详细描述
Pyqrcodeng
pyqrcodeng模块是一个二维码生成器,使用和编写都很简单 纯蟒蛇。该模块自动化了 创建二维码。大多数代码只能用两行代码创建!
与其他生成器不同,所有辅助对象都可以手动控制。你是 可自由设置二维码的任何或所有属性。
二维码可以保存为SVG、XBM、EPS、PNG(使用 pypng<;https://pypi.org/project/pypng/>; 模块),或纯文本。他们可以 也可以直接显示在大多数linux终端模拟器和tkinter中。皮尔 或者枕头不用于渲染图像文件。
pyqrcodeng模块试图尽可能地遵循qr码标准 可能的。pyqrcodeng中使用的术语和编码直接来自 从标准来看。此模块还遵循 标准配置。
要求
pyqrcodeng只需要python 2.7或python 3。您可能需要安装 pypng 以便呈现png文件,但它是可选的。
安装
安装很简单。可以使用以下命令从pip安装它 命令:
$ pip install -U pyqrcodeng
用pyqrcodeng替换pyqrcode
pyqrcodeng是pyqrcode的分支,因为后者似乎未被维护。 该api主要与pyqrcode兼容。在代码中,您可以使用以下命令 无需更改二维码生成码即可导入。
>>>importpyqrcodengaspyqrcode
用法
这是你唯一需要的进口货。模块的核心是qrcode类。 您可以正常构造类,或者使用 create 包装函数。
>>>importpyqrcodeng>>>qr=pyqrcodeng.create('Unladden swallow')>>>qr.png('famous-joke.png',scale=5)
编码数据
此模块支持所有四种数据编码:数字、字母数字、汉字, 和二进制。
数字类型是编码数字的最有效方式。作为 名称意味着它是设计用来编码整数的。一些数字也可能是 大,对象可以使用只包含数字的字符串,而不是 实际号码。
>>>number=pyqrcodeng.create(123456789012345)
字母数字类型非常有限,因为它只能编码一些ascii 字符。它编码:大写字母、0-9、水平空格和8 标点符号。可用字符将允许您对URL进行编码
>>>url=pyqrcodeng.create('http://uca.edu')
当所有其他操作失败时,数据可以用纯二进制编码。以下报价 必须用二进制编码,因为小写字符是撇号 以及新行字符。
>>>life=pyqrcodeng.create('''MR. CREOSOTE: Better get a bucket. I'm going to throw up. MAITRE D: Uh, Gaston! A bucket for monsieur. There you are, monsieur.''')
唯一未实现的编码是eci模式,它允许在一个qr中进行多个编码。 代码(这将在以后的版本中实现)。
手动设置二维码的属性
在很多情况下,您可能希望有更细粒度的控制 关于二维码是如何产生的。您可以指定 通过 创建 功能的二维码。有三个主要的属性 QR码
error 参数设置代码的错误更正级别。各级 有一个以字母命名的相关名称:L、M、Q或H;每个级别都可以 分别更正7%、15%、25%或30%的数据。有 指定级别的几种方法,请参见pyqrcodeng.tables.modes 可能的值。默认情况下,此参数设置为"h",即 可能的误差修正,但它有最小的可用数据 容量。
version 参数指定 代码。版本是介于1和40之间的任何整数,其中版本1是 最小的二维码,版本40是最大的。默认情况下,对象 使用数据的编码和纠错级别计算最小的 可能的版本。你可以当 生成多个不同数据量的qr码。整个过程都是这样的 生成的代码大小相同。
最后, 模式 参数设置内容的编码方式。AS 上面提到,五种可能的编码中有三种已经写好。通过 默认情况下,对象对内容使用最有效的编码。你可以 不过,还是改变一下。有关可能值的列表,请参见qrcode.tables.modes 对于此参数。
下面的代码构造了一个25%纠错的二维码,大小27,和 强制编码为二进制(而不是数字)。
>>>big_code=pyqrcodeng.create('0987654321',error='L',version=27,mode='binary')
渲染
呈现二维码有很多可能的格式。第一个是 将其呈现为1和0的字符串。此方法用于帮助结束 用户创建自己的渲染器。也可以打印 使其在大多数linux终端中可以直接显示的代码。 有几个基于图像的渲染器。
终端呈现器输出一系列ascii转义码,当 显示在兼容终端中,将显示有效的二维码。这个 背景色和模块颜色是可设置的(尽管在显示时 终端中的颜色,有几个注意事项)。
>>>url.term()
SVG渲染器将二维码输出为可缩放的矢量图形。这个 渲染器不需要任何外部模块。相反,它用手画 二维码作为一组路径。
>>>url.svg(sys.stdout,scale=1)>>>url.svg('uca.svg',scale=4,module_color="#7D007D")
或者,如果安装了pypng模块,则可以呈现二维码 到PNG文件。如果需要,应将颜色指定为rgb或rgba 利用透明度。
$ pip install -U pyqrcodeng0
最后,还有一个基于文本的渲染器。这将输出二维码作为 1和0的字符串,每行代码放在新行上。
$ pip install -U pyqrcodeng1
文档
阅读在线文档,网址为:https://pyqrcodeng.readthedocs.io/" rel="nofollow">https://pyqrcodeng.readthedocs.io/>;