Jaspersoftとspringbootを組み合わせて、1次元コードと2次元コードを生成します

Jaspersoftとspringbootを組み合わせて、1次元コードと2次元コードを生成します

バックエンドへの依存関係を追加する

<!-- 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

注:これら2つのパッケージをダウンロードした後、jaspersoft Studioツールは、QRコードを生成する準備をするために、これら2つの依存する関連パッケージもインポートする必要があります。

ここに画像の説明を挿入

一次元コード

一次元のコードは私がやっていたときはとてもスムーズでしたが、二次元のコードにはいくつかの問題がありました。
1次元コードは、1に示すように、バーコードでcode128を直接選択できます。
ここに画像の説明を挿入
次に、次の図に示すように、フィールドに対応するフィールドにバインドします。
ここに画像の説明を挿入

QRコード

ここでQRコードを実行するときは、常に上の2番目の図のQRコードを使用して実行したかったのですが、使用すると、nullポインター例外が報告されました。私は多くの解決策を試しましたが、解決できませんでした。その後、空の画像を直接挿入してQRコードを表示することもできることがわかりました。これは、最初の図のjarパッケージを使用します。
1.最初に、下の図に示すように、画像コンポーネントをドラッグして選択します
ここに画像の説明を挿入。2。画像は、1次元コードとは異なり、フィールド内の関連フィールドにバインドされます。バインドコードは次のとおりです。

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}を対応するバインドされたフィールドに置き換えるだけです。このコードは非常に重要です。QRCodeではなくImageコンポーネントにバインドする必要があります。
最後に、poject-cleanを実行してから、jasperファイルを対応するバックエンドフォルダーにコピーすると、操作を正常に表示できます。

旅行した迂回路を記録します。欠点がある場合は、アドバイスしてください。

おすすめ

転載: blog.csdn.net/s_156/article/details/114135865