Jaspersoft 与springboot结合生成一维码,二维码
后端添加依赖
<!-- https://mvnrepository.com/artifact/com.google.zxing/core -->
<!-- 二维码生成所需依赖 -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.3.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.zxing/javase -->
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.3.3</version>
</dependency>
<!--一维码所需依赖-->
<!-- https://mvnrepository.com/artifact/net.sf.barcode4j/barcode4j -->
<dependency>
<groupId>net.sf.barcode4j</groupId>
<artifactId>barcode4j</artifactId>
<version>2.1</version>
</dependency>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
注:下载完这两个包之后jaspersoft Studio工具内也需要将这个两个依赖的相关包导入为生成二维码做准备。
一维码
我在做的时候一维码很顺利,二维码遇到了一些困难。
一维码直接选用Barcode中的code128即可,如1所示。
然后与fields对应的字段绑定即可如下图所示:
二维码
二维码这里做的时候一直想着用第上面二个图中的QRcode来做,奈何一用它就空指针异常报错。尝试了很多办法都没有解决。后来经过发现也可以直接插入空的图片进行二维码显示。这就用到了第一个图中的jar包。
1、首先拖动Image组件选择如下图所示:2、图片与fields中的相关字段绑定,这里与一维码不一样,绑定的代码如下:
com.google.zxing.client.j2se.MatrixToImageWriter.toBufferedImage(
new com.google.zxing.qrcode.QRCodeWriter().encode(
$F{qrCode},
com.google.zxing.BarcodeFormat.QR_CODE, 300, 300))
- 1
- 2
- 3
把$F{qrCode}换成你对应绑定的字段即可。这段代码很重要。一定是与Image组件绑定而不是QRCode。
最后poject—clean然后复制jasper文件至后端对应文件夹,运行可以成功显示。
记录一下自己走过的弯路,如有不足之处,请多多指教。