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多线程
Nov 14 Python
书单|人生苦短,你还不用python!
Dec 29 Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
Mar 19 Python
python统计字母、空格、数字等字符个数的实例
Jun 29 Python
对numpy中的数组条件筛选功能详解
Jul 02 Python
基于腾讯云服务器部署微信小程序后台服务(Python+Django)
May 08 Python
python实现月食效果实例代码
Jun 18 Python
Python学习笔记之While循环用法分析
Aug 14 Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
Jun 18 Python
详细总结Python常见的安全问题
May 21 Python
python编程学习使用管道Pipe编写优化代码
Nov 20 Python
python单向链表实例详解
May 25 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实现Ftp用户的在线管理的代码
2007/03/06 PHP
用PHP查询搜索引擎排名位置的代码
2010/01/05 PHP
php中file_get_contents与curl性能比较分析
2014/11/08 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
2016/09/11 PHP
基于php判断客户端类型
2016/10/14 PHP
php生成HTML文件的类方法
2019/10/11 PHP
xml 与javascript结合的问题解决方法
2007/03/24 Javascript
初学JavaScript第二章
2008/09/30 Javascript
JavaScript快速检测浏览器对CSS3特性的支持情况
2012/09/26 Javascript
jQuery控制iFrame(实例代码)
2013/11/19 Javascript
JavaScript的内存释放问题详解
2015/01/21 Javascript
JavaScript实现下拉列表框数据增加、删除、上下排序的方法
2015/08/11 Javascript
js实现跨域访问的三种方法
2015/12/09 Javascript
全面了解js中的script标签
2016/07/04 Javascript
js实现键盘自动打字效果
2016/12/23 Javascript
使用JS动态显示文本
2017/09/09 Javascript
vue 使用vue-i18n做全局中英文切换的方法
2018/10/29 Javascript
JQuery Ajax跨域调用和非跨域调用问题实例分析
2019/04/16 jQuery
JavaScript基础之this和箭头函数详析
2019/09/05 Javascript
[02:08:58]2014 DOTA2国际邀请赛中国区预选赛 Ne VS CIS
2014/05/22 DOTA
[56:29]Secret vs Optic 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
对Python的交互模式和直接运行.py文件的区别详解
2019/06/29 Python
Python中的self用法详解
2019/08/06 Python
Python如何使用函数做字典的值
2019/11/30 Python
法国家具及室内配件店:home24
2017/01/21 全球购物
微软美国官方网站:Microsoft美国
2018/05/10 全球购物
美国名牌香水折扣网站:Hottperfume
2021/02/10 全球购物
华为菲律宾官方网站:HUAWEI Philippines
2021/02/23 全球购物
英文版银行求职信
2013/10/09 职场文书
工程造价与管理专业应届生求职信
2013/11/23 职场文书
岗位聘任书范文
2014/03/29 职场文书
2014年行政执法工作总结
2014/12/11 职场文书
辞职信怎么写
2015/02/27 职场文书
学校工会工作总结2015
2015/05/19 职场文书
个人职业生涯规划之自我评估篇
2019/09/03 职场文书
详解Vue3使用axios的配置教程
2022/04/29 Vue.js