2015-04-22 134 views
3

我使用JAVA爲我的帳單桌面應用程序生成JasperReport,但是我無法在jasper 6.0.3版本的報表中看到QR碼圖標;在預覽中顯示QR碼,但不在實際報告中。在jasperReport中QR碼集成

請任何人都可以提出這個想法和QR碼JAR文件?

回答

4

終於讓我找到這個問題的答案,

我們需要使用的jar文件導入內置jasperreport的QR碼 這些都是jar文件生成QR碼與碧玉報告。

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> 

它爲我工作。

0

我寫的回答很晚。但我認爲zxing是生成QR碼的最佳開源庫。在這裏我正在寫如何使用Java中的zxing庫生成QR碼。我使用iReport作爲設計工具。

步驟1:添加2個jar文件中的iReport的類路徑(工具>選項>iReport的標籤>Classpath選項卡>添加罐

一個)zxing-corehttps://mvnrepository.com/artifact/com.google.zxing/core/3.3.1

b)zxing-javase from https://mvnrepository.com/artifact/com.google.zxing/javase/3.3.1

注:您可以選擇最新的罐子。我使用最新的日期

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只是在表達field更換parameter

Screen shot of steps

第5步:編譯報告並運行。

要了解不同的使用經歷後Generate QR code in Java using zxing