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黑帽编程 3.4 跨越VLAN详解
Sep 28 Python
Python 12306抢火车票脚本 Python京东抢手机脚本
Feb 06 Python
python 通过 socket 发送文件的实例代码
Aug 14 Python
python 为什么说eval要慎用
Mar 26 Python
python 对字典按照value进行排序的方法
May 09 Python
python 实现12bit灰度图像映射到8bit显示的方法
Jul 08 Python
Python之数据序列化(json、pickle、shelve)详解
Aug 30 Python
利用rest framework搭建Django API过程解析
Aug 31 Python
python多项式拟合之np.polyfit 和 np.polyld详解
Feb 18 Python
Python 实现将numpy中的nan和inf,nan替换成对应的均值
Jun 08 Python
利用Python实现最小二乘法与梯度下降算法
Feb 21 Python
Python使用plt.boxplot()函数绘制箱图、常用方法以及含义详解
Aug 14 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/04 咖啡文化
PHP中,文件上传
2006/12/06 PHP
PHP实现邮件群发的源码
2013/06/18 PHP
2014年10个最佳的PHP图像操作库
2014/07/14 PHP
Javascript 各浏览器的 Javascript 效率对比
2008/01/23 Javascript
javascript iframe中打开文件,并检测iframe存在否
2008/12/28 Javascript
24款非常有用的 jQuery 插件分享
2011/04/06 Javascript
nodejs入门详解(多篇文章结合)
2012/03/07 NodeJs
浅析jQuery1.8的几个小变化
2013/12/10 Javascript
javascript自动生成包含数字与字符的随机字符串
2015/02/09 Javascript
javascript中加var和不加var的区别 你真的懂吗
2016/01/06 Javascript
深入理解事件冒泡(Bubble)和事件捕捉(capture)
2016/05/28 Javascript
Ajax实现不刷新取最新商品
2017/03/01 Javascript
想用好React的你必须要知道的一些事情
2017/07/24 Javascript
vue使用Google地图的实现示例代码
2018/12/19 Javascript
详解如何在vscode里面调试js和node.js的方法步骤
2018/12/24 Javascript
layui 点击重置按钮, select 并没有被重置的解决方法
2019/09/03 Javascript
VUE 项目在IE11白屏报错 SCRIPT1002: 语法错误的解决
2020/09/27 Javascript
[01:08]DOTA2次级职业联赛 - Shield战队宣传片
2014/12/01 DOTA
[01:04:14]OG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[03:48]大碗DOTA
2019/07/25 DOTA
按日期打印Python的Tornado框架中的日志的方法
2015/05/02 Python
python爬取亚马逊书籍信息代码分享
2017/12/09 Python
利用python将pdf输出为txt的实例讲解
2018/04/23 Python
python数据爬下来保存的位置
2020/02/17 Python
使用css3和jquery实现可伸缩搜索框
2014/02/12 HTML / CSS
欧洲最大的笔和书写专家:The Pen Shop
2017/03/19 全球购物
俄罗斯外国汽车和国产汽车配件网上商店:Движком
2020/04/19 全球购物
大学四年个人自我小结
2014/03/05 职场文书
在校大学生的职业生涯规划书
2014/03/14 职场文书
学习雷锋做美德少年寄语大全
2014/04/09 职场文书
幼儿园师德演讲稿
2014/05/06 职场文书
三方股东合作协议书
2014/10/28 职场文书
预备党员转正党小组意见
2015/06/01 职场文书
mysql left join快速转inner join的过程
2021/06/30 MySQL
Python通用验证码识别OCR库ddddocr的安装使用教程
2022/07/07 Python