Sprache: Deutsch · English
QR-Codes in Reports erzeugen – ZXing-Bibliothek, QRCode-Klasse, Classpath und freie Anpassung der Image Expression.
HOW-TO ANWENDUNGSENTWICKLER STAND: JUL 2026 GILT FUER NUCLOS 4.2026.X
Auf dieser Seite
Ein QR-Code ist eine 2D-Matrix mit Fehlerkorrektur (bis ~30% Verlust). In Nuclos-Formularen wird er über die ZXing-Bibliothek und eine kleine Hilfsklasse erzeugt.
Google stellt ZXing bereit. Aus dem Download core.jar (Ordner Core) und javase.jar (Ordner Javase) in den Projektordner kopieren.
package com.qrcodeself;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
/**
*
* @author
*/
public class QRCodeClass{
public static java.awt.Image setQRCode(String code) {
QRCodeWriter writer = new QRCodeWriter();
BitMatrix matrix = null;
try {
matrix = writer.encode(code, BarcodeFormat.QR_CODE, 100, 100);
}catch (WriterException e){
}
return MatrixToImageWriter.toBufferedImage(matrix);
}
}
Die Klasse als Scriptlet/Extension bereitstellen und im Jasper-Classpath-Parameter registrieren.
Jedes Basisformular enthält standardmäßig einen QR-Code aus Kürzel und Nummer des BOs. Der Aufruf steht in der Eigenschaft Image Expression und lässt sich frei zusammensetzen (String-Konkatenation mit +):
"LS: " + $F{strnummer}
Datentypen
String-Felder erkennt man am Präfix str. Andere Typen (dbl, int, bln, BigDecimal) zuerst konvertieren, z.B. $F{dblvknetto}.toString() oder formatiert new java.text.DecimalFormat("#,##0.00").format($F{dblvknetto}).
Erweiterte QR-Code-Werte.