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 list使用示例 list中找连续的数字
Jan 27 Python
CentOS中使用virtualenv搭建python3环境
Jun 08 Python
详解Python中的from..import绝对导入语句
Jun 21 Python
Python内置函数OCT详解
Nov 09 Python
15行Python代码带你轻松理解令牌桶算法
Mar 21 Python
在PyCharm中批量查找及替换的方法
Jan 20 Python
基于Django框架的权限组件rbac实例讲解
Aug 31 Python
Python命令行参数解析工具 docopt 安装和应用过程详解
Sep 26 Python
Python模块 _winreg操作注册表
Feb 05 Python
pytorch进行上采样的种类实例
Feb 18 Python
python 利用百度API识别图片文字(多线程版)
Dec 14 Python
python 将Excel转Word的示例
Mar 02 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
smarty 缓存控制前的页面静态化原理
2013/03/15 PHP
如何判断php数组的维度
2013/06/10 PHP
php图像处理函数大全(推荐收藏)
2013/07/11 PHP
php使用strtotime和date函数判断日期是否有效代码分享
2013/12/25 PHP
PHP内核探索:变量存储与类型使用说明
2014/01/30 PHP
Smarty简单生成表单元素的方法示例
2016/05/23 PHP
Firefox 无法获取cssRules 的解决办法
2006/10/11 Javascript
JS 继承实例分析
2008/11/04 Javascript
在chrome浏览器中,防止input[text]和textarea在聚焦时出现黄色边框的解决方法
2011/05/24 Javascript
那些年,我还在学习jquery 学习笔记
2012/03/05 Javascript
关于JS数组追加数组采用push.apply的问题
2014/06/09 Javascript
jQuery 删除或是清空某个HTML元素示例
2014/08/04 Javascript
深入理解JavaScript内置函数
2016/06/03 Javascript
第一次接触神奇的Bootstrap导航条
2016/08/09 Javascript
js实现可旋转的立方体模型
2016/10/16 Javascript
详解.vue文件中style标签的几个标识符
2018/07/17 Javascript
vue-cli监听组件加载完成的方法
2018/09/07 Javascript
JavaScript中七种流行的开源机器学习框架
2018/10/11 Javascript
vue实现的下拉框功能示例
2019/01/29 Javascript
VUE 自定义组件模板的方法详解
2019/08/30 Javascript
关于layui的下拉搜索框异步加载数据的解决方法
2019/09/28 Javascript
微信小程序修改数组长度的问题的解决
2019/12/17 Javascript
python 实现上传图片并预览的3种方法(推荐)
2017/07/14 Python
Python数据结构之双向链表的定义与使用方法示例
2018/01/16 Python
python遍历文件夹,指定遍历深度与忽略目录的方法
2018/07/11 Python
Python实现定时自动关闭的tkinter窗口方法
2019/02/16 Python
详解python中各种文件打开模式
2020/01/19 Python
台湾演唱会订票网站:StubHub台湾
2019/06/11 全球购物
保加利亚服装和鞋类购物网站:Bibloo.bg
2020/11/08 全球购物
Perfume’s Club美国官网:西班牙第一家在线美容店
2020/06/10 全球购物
机关单位动员会主持词
2014/03/20 职场文书
人力资源管理毕业生自荐信
2014/06/26 职场文书
初中优秀教师事迹材料
2014/08/18 职场文书
城管执法人员个人对照检查材料思想汇报
2014/09/29 职场文书
新教师2015年度工作总结
2015/07/22 职场文书
GTX1660显卡搭配显示器推荐
2022/04/19 数码科技