QR码集成在jasperReport中

时间:2015-04-22 01:37:39

标签: jasper-reports qr-code

我正在使用JAVA为我的计费桌面应用程序生成JasperReport但是,我无法在jasper 6.0.3版本的报告中看到QR Code图标;在预览中,它显示QR码,但不显示在真实报告中。

请问任何人都可以提出这个想法和QR码JAR文件吗?

2 个答案:

答案 0 :(得分:7)

我写的答案很晚。但我认为 zxing 是生成QR码的最佳开源库。在这里,我正在编写如何使用Java中的zxing库生成QR代码。我使用iReport作为设计工具。

步骤1:在iReport的类路径中添加2个jar文件(工具> 选项> iReport选项卡> Classpath选项卡> 添加Jar

a)来自https://mvnrepository.com/artifact/com.google.zxing/core/3.3.1

zxing-core

b)来自https://mvnrepository.com/artifact/com.google.zxing/javase/3.3.1

zxing-javase

注意:您可以选择最新的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

答案 1 :(得分:4)

最后我找到了这个问题的答案,

我们需要使用jar文件导入内置的jasperReport QR Code 这些是使用Jasper报告生成QR码的jar文件。

enter image description here

此jar文件也适用于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>

它为我工作。