jasperReport 中的二维码集成
QR Code integration in jasperReport
我正在使用 JAVA 为我的计费桌面应用程序生成 JasperReport,但是,我在 jasper 6.0.3 版本的报告中看不到 QR 码图标;在预览中它显示了二维码,但在真实报告中没有。
请问谁能提出想法和二维码 JAR 文件?
终于找到了这个问题的答案,
我们需要使用jar文件导入内置的jasperReport二维码
这些是用 Jasper 报告生成二维码的 jar 文件。
这个 jar 文件也适用于 jasper 报告,没有任何例外。
然后我们必须从 jasper 报告元素中拖放 QR 码。然后我们可以使用 xml.
定义指定的参数
<componentElement>
<reportElement x="547" y="-5" width="115" height="83" uuid="f5bf25f8-2967-4e4e-bfa2-7879a3275e1c"/>
<jr:QRCode xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">
<jr:codeExpression><![CDATA["Customer No: " + $F{CUST_NO}]]></jr:codeExpression>
</jr:QRCode>
</componentElement>
它对我有用。
我很晚才写我的答案。但我认为 zxing 是生成二维码最好的开源库。在这里,我正在写如何使用 Java 中的 zxing 库生成 QR 码。我正在使用 iReport 作为设计工具。
第一步:在iReport的class路径中添加2个jar文件(Tools > Options > iReport 选项卡 > Class路径选项卡 > 添加 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 步:Select 单击图像。您将在右侧看到属性选项卡。
a) 选择表达式Class作为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 步:编译报告和 运行。
要了解不同的用法,请阅读 post Generate QR code in Java using zxing
我正在使用 JAVA 为我的计费桌面应用程序生成 JasperReport,但是,我在 jasper 6.0.3 版本的报告中看不到 QR 码图标;在预览中它显示了二维码,但在真实报告中没有。
请问谁能提出想法和二维码 JAR 文件?
终于找到了这个问题的答案,
我们需要使用jar文件导入内置的jasperReport二维码 这些是用 Jasper 报告生成二维码的 jar 文件。
这个 jar 文件也适用于 jasper 报告,没有任何例外。
然后我们必须从 jasper 报告元素中拖放 QR 码。然后我们可以使用 xml.
定义指定的参数 <componentElement>
<reportElement x="547" y="-5" width="115" height="83" uuid="f5bf25f8-2967-4e4e-bfa2-7879a3275e1c"/>
<jr:QRCode xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">
<jr:codeExpression><![CDATA["Customer No: " + $F{CUST_NO}]]></jr:codeExpression>
</jr:QRCode>
</componentElement>
它对我有用。
我很晚才写我的答案。但我认为 zxing 是生成二维码最好的开源库。在这里,我正在写如何使用 Java 中的 zxing 库生成 QR 码。我正在使用 iReport 作为设计工具。
第一步:在iReport的class路径中添加2个jar文件(Tools > Options > iReport 选项卡 > Class路径选项卡 > 添加 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 步:Select 单击图像。您将在右侧看到属性选项卡。
a) 选择表达式Class作为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 步:编译报告和 运行。
要了解不同的用法,请阅读 post Generate QR code in Java using zxing