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 类与元类的深度挖掘 II【经验】
May 06 Python
Python之父谈Python的未来形式
Jul 01 Python
Python编程给numpy矩阵添加一列方法示例
Dec 04 Python
python 列表删除所有指定元素的方法
Apr 19 Python
Django使用详解:ORM 的反向查找(related_name)
May 30 Python
python3中函数参数的四种简单用法
Jul 09 Python
Python实现EXCEL表格的排序功能示例
Jun 25 Python
使用Django搭建web服务器的例子(最最正确的方式)
Aug 29 Python
使用python切片实现二维数组复制示例
Nov 26 Python
python加载自定义词典实例
Dec 06 Python
tensorflow使用range_input_producer多线程读取数据实例
Jan 20 Python
Django-simple-captcha验证码包使用方法详解
Nov 28 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
法国:浪漫之都的咖啡文化
2021/03/03 咖啡文化
基于linnux+phantomjs实现生成图片格式的网页快照
2015/04/15 PHP
PHP中用mysqli面向对象打开连接关闭mysql数据库的方法
2016/11/05 PHP
php 截取中英文混合字符串的方法
2018/05/31 PHP
PHP如何实现阿里云短信sdk灵活应用在项目中的方法
2019/06/14 PHP
Yii框架操作cookie与session的方法实例详解
2019/09/04 PHP
输入密码检测大写是否锁定js实现代码
2012/12/03 Javascript
javascript使用onclick事件改变选中行的颜色
2013/12/30 Javascript
上传图片js判断图片尺寸和格式兼容IE
2014/09/01 Javascript
使用js画图之画切线
2015/01/12 Javascript
javascript实现动态导入js与css等静态资源文件的方法
2015/07/25 Javascript
浅析JS操作DOM的一些常用方法
2016/05/13 Javascript
js获取当前年月日-YYYYmmDD格式的实现代码
2016/06/01 Javascript
JS实现的RGB网页颜色在线取色器完整实例
2016/12/21 Javascript
js实现适配不同的屏幕大小
2017/04/10 Javascript
JS表格组件神器bootstrap table使用指南详解
2017/04/12 Javascript
原生JS实现图片网格式渐显、渐隐效果
2017/06/05 Javascript
vue中appear的用法
2017/08/17 Javascript
详解基于mpvue的小程序markdown适配解决方案
2018/05/08 Javascript
vue异步加载高德地图的实现
2018/06/19 Javascript
微信小程序非swiper组件实现的自定义伪3D轮播图效果示例
2018/12/11 Javascript
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
2019/02/27 jQuery
Vue学习之axios的使用方法实例分析
2020/01/06 Javascript
使用Python操作excel文件的实例代码
2017/10/15 Python
详解Python中的动态属性和特性
2018/04/07 Python
python实现生成Word、docx文件的方法分析
2019/08/30 Python
python3.7将代码打包成exe程序并添加图标的方法
2019/10/11 Python
pandas 缺失值与空值处理的实现方法
2019/10/12 Python
html5定位并在百度地图上显示的示例
2014/04/27 HTML / CSS
欧洲最大的美妆零售网站:Feelunique
2017/01/14 全球购物
腾讯公司的一个sql题
2013/01/22 面试题
思想品德自我鉴定
2013/10/12 职场文书
销售总监岗位职责
2014/01/04 职场文书
党员承诺践诺书
2014/05/20 职场文书
2015年大学班主任工作总结
2015/04/30 职场文书
Android开发 使用文件储存的方式保存QQ密码
2022/04/24 Java/Android