jasperReport中的QR Code集成

Ang*_*iee 6 qr-code jasper-reports

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

任何人都可以提出想法和QR Code JAR文件吗?

Kam*_*ngh 8

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

步骤1:在iReport的类路径中添加2个jar文件(“ 工具” >“ 选项” >“ iReport”选项卡 >“ 类路径”选项卡 >“ 添加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的屏幕截图

步骤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
    )
)
Run Code Online (Sandbox Code Playgroud)

注意:如果要使用field而不是parameterparameter使用fieldin表达式替换。

屏幕截图的步骤

步骤5:编译报告并运行。

要了解不同的用法,请阅读文章使用zxing在Java中生成QR码

  • @Julius Prayogo 是的,它是 `java.lang.String` 数据类型。 (3认同)

Ang*_*iee 4

终于找到这个问题的答案了

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

在此输入图像描述

此 jar 文件也适用于 jasper 报告,没有任何例外。

然后我们必须从 jasper 报告元素中拖放二维码。然后我们可以使用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>
Run Code Online (Sandbox Code Playgroud)

它对我有用。