Nuclos Barcode Report: barcode4j, barbecue, Image-Objekt, EAN13, Prüfziffer, jasperreports-6.17.0.jar, Extensions.

globe with meridians Sprache: Deutsch · English

hammer and wrench Barcode einbinden

Barcodes in Reports – einfach über die Palette oder flexibel über ein Image-Objekt (EAN13-Beispiel).

Auf dieser Seite

Barcodes in JasperReports

Für Barcodes stehen in der Palette unter Barcode zwei Bibliotheken bereit: barcode4j und barbecue.

Einfache Einbindung

  1. Barcode-Komponente aus der Palette auf das Arbeitsblatt ziehen.
  2. Bibliothek und Barcode-Typ wählen, mit Finish bestätigen.
  3. In den Eigenschaften den Wert/die Zeichenfolge eintragen (manche Typen akzeptieren nur eine feste Länge).

Barcode-Komponente hinzufügen.

Einbindung über das Image-Objekt

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

EAN13-Hinweis

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.

Barcodes in Nuclos

Für die Nutzung in Nuclos die Abhängigkeiten als Extensions übertragen:

BibliothekAbhängigkeiten
Barbecuebarbecue-1.5-beta1, jdom-1.0
Barcode4Jbarcode4j-2.1, zxing-core-3.4.0

Verwandte Seiten

printer Arbeiten mit Jasper Studio


Überblick.

Öffnen →

clipboard QR-Codes im Reporting nutzen


QR-Codes.

Öffnen →