Sprache: Deutsch · English
Barcodes in Reports – einfach über die Palette oder flexibel über ein Image-Objekt (EAN13-Beispiel).
HOW-TO ANWENDUNGSENTWICKLER STAND: JUL 2026 GILT FUER NUCLOS 4.2026.X
Auf dieser Seite
Für Barcodes stehen in der Palette unter Barcode zwei Bibliotheken bereit: barcode4j und barbecue.
Barcode-Komponente hinzufügen.
Für mehr Kontrolle (z.B. Schriftart/-größe des Texts unter dem Barcode) bindest du den Barcode über ein Image-Objekt ein. Dazu ein Java-Library-Projekt mit einer Klasse anlegen und dem Klassenpfad der integrierten jasperreports-6.17.0.jar hinzufügen. Beispiel (EAN13, 13-stellig):
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.barcodeself;
import java.awt.Font;
import net.sourceforge.barbecue.Barcode;
import net.sourceforge.barbecue.BarcodeException;
import net.sourceforge.barbecue.BarcodeFactory;
import net.sourceforge.barbecue.BarcodeImageHandler;
import net.sourceforge.barbecue.output.OutputException;
/**
*
* @author rufus
*/
public class EAN13 {
public static java.awt.Image createEANdreiZehn(String c) throws OutputException, BarcodeException{
if(c.isEmpty() || c.equals("")|| c.length() != 13){
c = "000000000000";
}
else{
c = c.substring(0, 12);
}
Barcode b = BarcodeFactory.createEAN13(c);
Font f = new Font("SanSerif", Font.BOLD, 12);
b.setFont(f);
return BarcodeImageHandler.getImage(b);
}
}
Im Designer ein Image-Element platzieren und setzen:
Image Expression = org.barcodeself.EAN13.createEANdreiZehn("12-stellig")
Expression Class = java.awt.Image
Der EAN13 hat 13 Ziffern, wobei die letzte eine Prüfziffer ist und bei der Generierung angehängt wird – dem Generator dürfen also nur 12 Ziffern übergeben werden. Ein extern erzeugter EAN13 wird ggf. schon in der Datenquelle gekürzt (Postgres: substring(ap."strean" from 1 for 12)).
Barcode im Report.
Für die Nutzung in Nuclos die Abhängigkeiten als Extensions übertragen:
| Bibliothek | Abhängigkeiten |
|---|---|
| Barbecue | barbecue-1.5-beta1, jdom-1.0 |
| Barcode4J | barcode4j-2.1, zxing-core-3.4.0 |