iReport中产生二维条码(zxing)
来源:互联网 发布:qq老密数据库下载 编辑:程序博客网 时间:2024/05/29 09:45
最近项目需要,要在产生的报表中添加二维码,便于日后的数据追踪和数据保密,本来没有一点头绪,后来才发现原来iReport中自带了生成条码的功能,于是便试了试,结果发现,内置的Barbecue和barcode4j没有支持QR Code的功能,而且生成的PDF417,barcode4j会报错,barbecue生成的则压扁在一起,怎么调整都没用,只能生成一维条码;于是便陷入了困境,便使劲的百度、谷歌,终于在一个老外的论坛上找到了答案,就是使用zxing-谷歌提供的条码生成包,简单方便,而且生成的二维码也很标准,支持常见的一维、二维条码
1、下载Google条码生成的开源包:http://code.google.com/p/zxing/downloads/detail?name=ZXing-2.1.zip
2、解压,里面有一些简单的例子,大家想深入研究,可以好好看一下,不过在iReport中,只需要使用到“core.jar”和“javase.jar”就好了。
3、打开iReport,“工具”—“选项”—“classpath”,然后“Add JAR”,选择上面提到的两个jar文件
4、然后新建一个报表文件,配置好database,然后写一条测试SQL(即可以正常的Preview)
5、在“组件面板”中向iReport中添加一个“Image”对象,这是会弹出选择链接的界面,点击“取消”即可
6、选中图片,然后在“属性面板”中找到“Image Expression“的选项,打开
7、在其中添加下面一程序(二维码的中文可能会出现乱码):
com.google.zxing.client.j2se.MatrixToImageWriter.toBufferedImage(new com.google.zxing.qrcode.QRCodeWriter().encode($P{emp_no},com.google.zxing.BarcodeFormat.QR_CODE,100,100))
处理乱码:com.google.zxing.client.j2se.MatrixToImageWriter.toBufferedImage(newcom.google.zxing.qrcode.QRCodeWriter().encode(newString($P{c_plate_no}.getBytes("UTF-8"),"ISO-8859-1"),com.google.zxing.BarcodeFormat.QR_CODE,100,100))
-----通过需要自行调整编码格式
同时注意设置:
8、其中”$P{emp_no}“便是我要列印的二维码数据源。大概的分析一下这段大码,其实很简单,就是引用了jar中的toBufferedImage方法产生一个图片,图片的内容就是QRCodeWriter()来生成二维码,BarcodeFormat()来定义图片大小等。
9、点击确定,然后preview,便可看到效果:
zxing是Google为安卓开发的条码生成和识别的开源包,里面支持常见一维条码和二维条码,方便我们使用,具体的大家可以在上面的那个下载网址上找到相关的参考文件,便于日后我们使用。
可以参考:http://stackoverflow.com/questions/7626013/google-zxing-barcode-generator-in-ireport
- iReport中产生二维条码(zxing)
- zxing 实现二维条码的读写!
- Google开源项目ZXing(二维条码编解码)简单使用(Java版)
- Google开源项目ZXing(二维条码编解码)简单使用(Java版)
- 一维条码,二维条码
- C#的zxing条码工具
- 在水晶报表中使用一维和二维条码
- PDF417二维条码/二维码
- 二维条码 QR Code
- PDF417二维条码详解
- QRCode二维条码开发
- 二维条码目前应用
- 二维条码/二维码
- 二维条码生成
- ireport中unable to resolve class com.google.zxing.qrcode.QRCodeWriter问题解决
- ZXing二维图
- ZXing.Net C#条码 二维码生成库
- Android条码扫描ZBar和ZXing浅谈
- 企业高并发的成熟解决方案(一) ----负载均衡服务器
- maven3创建自定义的archetype
- Swift 3.0 第三方库不适配报(SWIFT_VERSION)问题
- 通过input propertychange实现即时搜索
- java路径读取方法
- iReport中产生二维条码(zxing)
- 深度学习word2vec笔记之算法篇
- 信号编程之信号发送及信号处理函数遇到不可重入函数
- 不要消费信任
- Linux下的fdisk用法
- 【45.65%】【codeforces 560B】Gerald is into Art
- 安装Ubuntu系统,你如何分区滴~?
- freeswitch之多分机顺振
- Java 求余操作符