Python之ReportLab绘制条形码和二维码的实例


Posted in Python onJanuary 15, 2018

条形码和二维码

#引入所需要的基本包
from reportlab.pdfgen import canvas
from reportlab.graphics.barcode import code39, code128, code93
from reportlab.graphics.barcode import eanbc, qr, usps
from reportlab.graphics.shapes import Drawing 
from reportlab.lib.units import mm
from reportlab.graphics import renderPDF
#----------------------------------------------------------------------
def createBarCodes(c):
  barcode_value = "1234567890"
  barcode39 = code39.Extended39(barcode_value)
  barcode39Std = code39.Standard39(barcode_value, barHeight=20, stop=1)
  # code93 also has an Extended and MultiWidth version
  barcode93 = code93.Standard93(barcode_value)
  barcode128 = code128.Code128(barcode_value)
  # the multiwidth barcode appears to be broken 
  #barcode128Multi = code128.MultiWidthBarcode(barcode_value)
  barcode_usps = usps.POSTNET("50158-9999")
  codes = [barcode39, barcode39Std, barcode93, barcode128, barcode_usps]
  x = 1 * mm
  y = 285 * mm
  for code in codes:
    code.drawOn(c, x, y)
    y = y - 15 * mm
  # draw the eanbc8 code
  barcode_eanbc8 = eanbc.Ean8BarcodeWidget(barcode_value)
  d = Drawing(50, 10)
  d.add(barcode_eanbc8)
  renderPDF.draw(d, c, 15, 555)
  # draw the eanbc13 code
  barcode_eanbc13 = eanbc.Ean13BarcodeWidget(barcode_value)
  d = Drawing(50, 10)
  d.add(barcode_eanbc13)
  renderPDF.draw(d, c, 15, 465)
  # draw a QR code
  qr_code = qr.QrCodeWidget('http://blog.csdn.net/webzhuce')
  bounds = qr_code.getBounds()
  width = bounds[2] - bounds[0]
  height = bounds[3] - bounds[1]
  d = Drawing(45, 45, transform=[45./width,0,0,45./height,0,0])
  d.add(qr_code)
  renderPDF.draw(d, c, 15, 405)
#定义要生成的pdf的名称
c=canvas.Canvas("barcodes.pdf")
#调用函数生成条形码和二维码,并将canvas对象作为参数传递
createBarCodes(c)
#showPage函数:保存当前页的canvas
c.showPage()
#save函数:保存文件并关闭canvas
c.save()

运行结果:

Python之ReportLab绘制条形码和二维码的实例

以上这篇Python之ReportLab绘制条形码和二维码的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
解决Python requests 报错方法集锦
Mar 19 Python
Python快速排序算法实例分析
Nov 29 Python
Python元组及文件核心对象类型详解
Feb 11 Python
Python针对给定列表中元素进行翻转操作的方法分析
Apr 27 Python
解决tensorflow测试模型时NotFoundError错误的问题
Jul 27 Python
django Serializer序列化使用方法详解
Oct 16 Python
python实现QQ邮箱/163邮箱的邮件发送
Jan 22 Python
Python读写文件模式和文件对象方法实例详解
Sep 17 Python
使用Keras画神经网络准确性图教程
Jun 15 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
Jun 18 Python
Python+OpenCV图像处理—— 色彩空间转换
Oct 22 Python
python 利用PyAutoGUI快速构建自动化操作脚本
May 31 Python
Tornado高并发处理方法实例代码
Jan 15 #Python
使用Python实现windows下的抓包与解析
Jan 15 #Python
Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例
Jan 15 #Python
Python操作mysql数据库实现增删查改功能的方法
Jan 15 #Python
使用python编写简单的小程序编译成exe跑在win10上
Jan 15 #Python
python逆向入门教程
Jan 15 #Python
Python3一行代码实现图片文字识别的示例
Jan 15 #Python
You might like
谈谈PHP语法(3)
2006/10/09 PHP
PHP获取表单textarea数据中的换行问题
2010/09/10 PHP
php实现的支持断点续传的文件下载类
2014/09/23 PHP
php目录拷贝实现方法
2015/07/10 PHP
php metaphone()函数及php localeconv() 函数实例解析
2016/05/15 PHP
PHP数据库表操作的封装类及用法实例详解
2016/07/12 PHP
PHP控制前台弹出对话框的实现方法
2016/08/21 PHP
php 数据结构之链表队列
2017/10/17 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
JS实现遮罩层效果的简单实例
2013/11/12 Javascript
js写的方法实现上传图片之后查看大图
2014/03/05 Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
2015/02/03 Javascript
javascript获取select值的方法分析
2015/07/02 Javascript
JavaScript+html5 canvas实现本地截图教程
2020/04/16 Javascript
javascript cookie的简单应用
2016/02/24 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
Node.js中的异步生成器与异步迭代详解
2021/01/31 Javascript
Python合并字符串的3种方法
2015/05/21 Python
python实现生命游戏的示例代码(Game of Life)
2018/01/24 Python
Python zip()函数用法实例分析
2018/03/17 Python
python多行字符串拼接使用小括号的方法
2020/03/19 Python
解决pycharm py文件运行后停止按钮变成了灰色的问题
2018/11/29 Python
Python如何使用k-means方法将列表中相似的句子归类
2019/08/08 Python
爬虫代理池Python3WebSpider源代码测试过程解析
2019/12/20 Python
python中的逆序遍历实例
2019/12/25 Python
CSS3弹性盒模型开发笔记(三)
2016/04/26 HTML / CSS
详解CSS3伸缩布局盒模型Flex布局
2018/08/20 HTML / CSS
html5中canvas学习笔记2-判断浏览器是否支持canvas
2013/01/06 HTML / CSS
HTML5+CSS设置浮动却没有动反而在中间且错行的问题
2020/05/26 HTML / CSS
“型”走纽约上东区:Sam Edelman
2017/04/02 全球购物
经典C++面试题一
2016/11/06 面试题
一些.net面试题
2014/10/06 面试题
元旦晚会上单位领导演讲稿
2014/01/05 职场文书
高三政治教学反思
2014/02/06 职场文书
运动会观后感
2015/06/09 职场文书
如何利用 CSS Overview 面板重构优化你的网站
2021/10/24 HTML / CSS