我正在使用 JAVA 为我的计费桌面应用程序生成 JasperReport,但是在 jasper 6.0.3 版本的报告中看不到二维码图标;在预览中它显示的是二维码,但不是在真实报告中。
请任何人都可以提出这个想法和二维码 JAR 文件吗?
最佳答案
我很晚才写我的答案。但我认为 zxing 是最好的生成二维码的开源库。在这里,我正在写如何使用 Java 中的 zxing 库生成 QR 码。我使用 iReport 作为设计器工具。
Step 1: Add 2 jar files in class path of iReport ( Tools > Options > iReport Tab > Classpath Tab > Add Jar )
a) zxing-core
从 https://mvnrepository.com/artifact/com.google.zxing/core/3.3.1
b) zxing-javase
从 https://mvnrepository.com/artifact/com.google.zxing/javase/3.3.1
注意:您可以选择最新的 jar 。我正在使用最新的日期
Screen shot of adding jar in class path
第 2 步:创建参数/字段(根据您的需要)。我正在使用一个参数。让我们称之为 qrCode 。
第 3 步:从 iReport 设计器的调色板面板拖放图像(在 windows 中可通过 Shift + ctrl + 8
访问)。并选择 取消 (我们不想要静态图像)。
第 4 步:通过单击选择图像。您将在右侧看到属性选项卡。
a) 选择 表达式类 作为 java.awt.Image
b) 单击 图像表达式 属性。并将表达式填充为
com.google.zxing.client.j2se.MatrixToImageWriter.toBufferedImage(
new com.google.zxing.qrcode.QRCodeWriter().encode(
$P{qrCode},
com.google.zxing.BarcodeFormat.QR_CODE, 300, 300
)
)
注意:如果要使用
field
而不是 parameter
,只需将表达式中的 parameter
替换为 field
。Screen shot of steps
步骤 5:编译报告并运行。
要了解不同的用法,请阅读帖子 Generate QR code in Java using zxing
关于jasper-reports - jasperReport 中的二维码集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29786226/