Jaspersoft 与springboot结合生成一维码,二维码

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文件至后端对应文件夹,运行可以成功显示。

记录一下自己走过的弯路,如有不足之处,请多多指教。