iReport中产生二维条码(QR CodePDF417
最近项目需要,要在产生的报表中添加二维码,便于日后的数据追踪和数据保密,本来没有一点头绪,后来才发现原来iReport中自带了生成条码的功能,于是便试了试,结果发现,内置的Barbecuebarcode4j没有支持QR Code的功能,而且生成的PDF417barcode4j会报错,barbecue生成的则压扁在一起,怎么调整都没用,只能生成一维条码;于是便陷入了困境,便使劲的百度、谷歌,终于在一个老外的论坛上到了答案,就是使用zxing-谷歌提供的条码生成包,简单方便,而且生成的二维码也很标准,支持常见的一维、二维条码;下面我就为大家介绍一下:
1、下载Google条码生成的开源包:le/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、在其中添加下面一程序:
ing.client.BufferedImage(new&le.zxing.qrcode.QRCodeWriter().encode($P{emp_no},ing.BarcodeFormat.QR_CODE,100,100))
8、其中”$P{emp_no}“便是我要列印的二维码数据源。大概的分析一下这段大码,其实很简单,就是引用了jar中的toBufferedImage方法产生一个图片,图片的内容就是QRCodeWriter()来生成二维码,BarcodeFormat()来定义图片大小等。
9、点击确定,然后preview,便可看到效果:
10zxingGoogle为安卓开发的条码生成和识别的开源包,里面支持常见一维条码和二维条码,方便我们使用,具体的大家可以在上面的那个下载网址上到相关的参考文件,便于日后我们使用。
以上,谢谢。
David Wang   
2013.01.10(于咸阳)