Nuclos Jasper QRCode: ZXing, QRCodeWriter, core.jar, javase.jar, Image Expression, Classpath, Barcode. |
Sprache: Deutsch · English
QR-Codes in Reports erzeugen – ZXing-Bibliothek, QRCode-Klasse, Classpath und freie Anpassung der Image Expression.
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} |
String-Felder erkennt man am Präfix |
Erweiterte QR-Code-Werte.