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 相关文章推荐
django模型中的字段和model名显示为中文小技巧分享
Nov 18 Python
简述Python2与Python3的不同点
Jan 21 Python
利用Python进行数据可视化常见的9种方法!超实用!
Jul 11 Python
python 根据时间来生成唯一的字符串方法
Jan 14 Python
Python计算一个点到所有点的欧式距离实现方法
Jul 04 Python
简单了解python代码优化小技巧
Jul 08 Python
对Python _取log的几种方式小结
Jul 25 Python
Python数据可视化 pyecharts实现各种统计图表过程详解
Aug 15 Python
PyCharm无法识别PyQt5的2种解决方法,ModuleNotFoundError: No module named 'pyqt5'
Feb 17 Python
基于tf.shape(tensor)和tensor.shape()的区别说明
Jun 30 Python
Python多个MP4合成视频的实现方法
Jul 16 Python
Python与C++中梯度方向直方图的实现
Mar 17 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
Apache2 httpd.conf 中文版
2006/12/06 PHP
php中防止恶意刷新页面的代码小结
2012/10/31 PHP
用PHP提取中英文词语以及数字的首字母的方法介绍
2013/04/23 PHP
ThinkPHP中自定义目录结构的设置方法
2014/08/15 PHP
php结合mysql与mysqli扩展处理事务的方法
2016/06/29 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
JS控件autocomplete 0.11演示及下载 1月5日已更新
2007/01/09 Javascript
浏览器无法运行JAVA脚本的解决方法
2008/01/09 Javascript
Javascript 构造函数 实例分析
2008/11/26 Javascript
jquery select(列表)的操作(取值/赋值)
2011/03/16 Javascript
js onkeypress与onkeydown 事件区别详细说明
2012/12/13 Javascript
js克隆对象、数组的常用方法介绍
2013/09/26 Javascript
跟我学习JScript的Bug与内存管理
2015/11/18 Javascript
JS组件Bootstrap实现图片轮播效果
2016/05/16 Javascript
简单实现的JQuery文本框水印插件
2016/06/14 Javascript
JavaScript ES6中export、import与export default的用法和区别
2017/03/14 Javascript
浅谈vue引用静态资源需要注意的事项
2018/09/28 Javascript
JS实现倒计时图文效果
2018/11/17 Javascript
JavaScript函数定义方法实例详解
2019/03/05 Javascript
深入学习JavaScript 高阶函数
2019/06/11 Javascript
布同自制Python函数帮助查询小工具
2011/03/13 Python
Linux上安装Python的PIL和Pillow库处理图片的实例教程
2016/06/23 Python
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
2017/09/05 Python
Django入门使用示例
2017/12/12 Python
Python实现的rsa加密算法详解
2018/01/24 Python
在pycharm上mongodb配置及可视化设置方法
2018/11/30 Python
Python解析命令行读取参数之argparse模块
2019/07/26 Python
Python 日期区间处理 (本周本月上周上月...)
2019/08/08 Python
春节到了 教你使用python来抢票回家
2020/01/06 Python
20行Python代码实现视频字符化功能
2020/04/13 Python
C++面试题目
2013/06/25 面试题
Linux不知道文件后缀名怎么判断文件类型
2014/08/21 面试题
揭牌仪式主持词
2014/03/19 职场文书
大学生职业生涯规划大赛作品(精品)
2014/09/17 职场文书
一篇合格的广告文案,其主要目的是什么?
2019/07/12 职场文书