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实现OpenCV的安装与使用示例
Mar 30 Python
Python抽象和自定义类定义与用法示例
Aug 23 Python
Python实现对字典分别按键(key)和值(value)进行排序的方法分析
Dec 19 Python
详解Appium+Python之生成html测试报告
Jan 04 Python
pyqt5 tablewidget 利用线程动态刷新数据的方法
Jun 17 Python
python递归下载文件夹下所有文件
Aug 31 Python
python绘制封闭多边形教程
Feb 18 Python
django xadmin action兼容自定义model权限教程
Mar 30 Python
基于python实现FTP文件上传与下载操作(ftp&sftp协议)
Apr 01 Python
Keras自动下载的数据集/模型存放位置介绍
Jun 19 Python
零基础小白多久能学会python
Jun 22 Python
Python爬虫分析微博热搜关键词的实现代码
Feb 22 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源码之 ext/mysql扩展部分
2009/07/17 PHP
php fsockopen中多线程问题的解决办法[翻译]
2011/11/09 PHP
帝国cms目录结构分享
2015/07/06 PHP
php实现微信公众号主动推送消息
2015/12/31 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
2016/01/05 PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
2016/03/18 PHP
php+flash+jQuery多图片上传源码分享
2020/07/27 PHP
thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析
2019/08/05 PHP
js调用css属性写法
2013/09/21 Javascript
浅谈jQuery事件绑定原理
2015/01/02 Javascript
js控制文本框输入的字符类型方法汇总
2015/06/19 Javascript
教你如何终止JQUERY的$.AJAX请求
2016/02/23 Javascript
有关easyui-layout中的收缩层无法显示标题的解决办法
2016/05/10 Javascript
常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数
2016/09/23 Javascript
jquery拼接ajax 的json和字符串拼接的方法
2017/03/11 Javascript
JS获取鼠标位置距浏览器窗口距离的方法示例
2017/04/11 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
还不懂递归?读完这篇文章保证你会懂
2018/07/29 Javascript
pygame学习笔记(4):声音控制
2015/04/15 Python
python利用matplotlib库绘制饼图的方法示例
2016/12/18 Python
python执行使用shell命令方法分享
2017/11/08 Python
IntelliJ 中配置 Anaconda的过程图解
2020/06/01 Python
标签和贴纸印刷:Lightning Labels
2018/03/22 全球购物
美国网上书店:Barnes & Noble
2018/08/15 全球购物
Laura官网:加拿大女性的顶级时尚目的地
2019/09/20 全球购物
Made in Design英国:设计家具、照明、家庭装饰和花园家具
2019/09/24 全球购物
奥地利领先的在线药房:SHOP APOTHEKE
2019/10/07 全球购物
Woods官网:加拿大最古老、最受尊敬的户外品牌之一
2020/09/12 全球购物
生产车间主管岗位职责
2013/12/28 职场文书
优秀三好学生事迹材料
2014/08/31 职场文书
关于九一八事变的演讲稿2014
2014/09/17 职场文书
乡村教师党员四风问题对照检查材料思想汇报
2014/10/08 职场文书
2014年售票员工作总结
2014/11/19 职场文书
演讲开场白和结束语
2015/05/29 职场文书
Django使用channels + websocket打造在线聊天室
2021/05/20 Python
Apache POI的基本使用详解
2021/11/07 Servers