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ファイルを対応するバックエンドフォルダーにコピーすると、操作を正常に表示できます。
旅行した迂回路を記録します。欠点がある場合は、アドバイスしてください。