新一代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 pyqrcodeng
0

最后,还有一个基于文本的渲染器。这将输出二维码作为 1和0的字符串,每行代码放在新行上。

$ pip install -U pyqrcodeng
1

文档

阅读在线文档,网址为:https://pyqrcodeng.readthedocs.io/" rel="nofollow">https://pyqrcodeng.readthedocs.io/>;

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java RFID不完整输出?   java如何构造一个for循环来查找每个数组的第一个索引的总和   java Eclipse AST解析器正在删除我的规则   安卓如何在java中创建“可重写”配置?   java每次我向应用程序添加图像时,它都会崩溃   Java 8流到文件   EntityNotFoundException的java可能原因   java多线程为什么下面的程序表现得如此怪异?   java footprint soap api+mavenjaxb2plugin   java MongoDB锁定,直到找到结果   java重写Jtable选项卡行为转到下一个可编辑单元格   java关于方法和创建另一个方法   java将人脸与图像分离   java复制Spring批处理作业实例   java TextView不会更改为新设置的文本