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合并多个装饰器小技巧
Apr 28 Python
基于python的Tkinter实现一个简易计算器
Dec 31 Python
python构建自定义回调函数详解
Jun 20 Python
Python升级导致yum、pip报错的解决方法
Sep 06 Python
在Python web中实现验证码图片代码分享
Nov 09 Python
Python实现k-means算法
Feb 23 Python
Django学习笔记之ORM基础教程
Mar 27 Python
Python3.4学习笔记之列表、数组操作示例
Mar 01 Python
tensorflow之tf.record实现存浮点数数组
Feb 17 Python
Python通过zookeeper实现分布式服务代码解析
Jul 22 Python
通过实例了解python__slots__使用方法
Sep 14 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
Jan 27 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
2020最新CPU的性能排名
2020/04/02 数码科技
php中访问修饰符的知识点总结
2019/01/27 PHP
脚本吧 - 幻宇工作室用到js,超强推荐share.js
2006/12/23 Javascript
定义select的边框颜色
2008/04/28 Javascript
jQuery 浮动广告实现代码
2008/12/25 Javascript
js 事件处理函数间的Event物件是否全等
2011/04/08 Javascript
jQuery中操控hidden、disable等无值属性的方法
2014/01/06 Javascript
第十章之巨幕页头缩略图与警告框组件
2016/04/25 Javascript
jQuery animate easing使用方法图文详解
2016/06/17 Javascript
element-ui 限制日期选择的方法(datepicker)
2018/05/16 Javascript
vue.js使用v-pre与v-html输出HTML操作示例
2018/07/07 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
2018/08/12 Javascript
用element的upload组件实现多图片上传和压缩的示例代码
2019/02/12 Javascript
如何在Angular应用中创建包含组件方法示例
2019/03/23 Javascript
js尾调用优化的实现
2019/05/23 Javascript
小程序跳转H5页面的方法步骤
2020/03/06 Javascript
vue 需求 data中的数据之间的调用操作
2020/08/05 Javascript
vue 实现锚点功能操作
2020/08/10 Javascript
浅析微信小程序自定义日历组件及flex布局最后一行对齐问题
2020/10/29 Javascript
[49:54]Ti4 循环赛第三日 LGD vs Titan
2014/07/12 DOTA
[58:23]LGD vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python urlopen()函数 示例分享
2014/06/12 Python
Python 创建子进程模块subprocess详解
2015/04/08 Python
Python网络爬虫与信息提取(实例讲解)
2017/08/29 Python
python如何为创建大量实例节省内存
2018/03/20 Python
python抓取搜狗微信公众号文章
2019/04/01 Python
itchat-python搭建微信机器人(附示例)
2019/06/11 Python
Python批量处理csv并保存过程解析
2020/05/16 Python
表单button的outline在firefox浏览器下的问题
2012/12/24 HTML / CSS
业务主管岗位职责
2013/11/20 职场文书
课程设计心得体会
2013/12/28 职场文书
本科毕业生求职信
2014/06/15 职场文书
解除劳动关系协议书范文
2014/09/11 职场文书
2016读书月活动心得体会
2016/01/14 职场文书
详解MongoDB的条件查询和排序
2021/06/23 MongoDB
Redis的字符串是如何实现的
2021/10/24 Redis