Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Inhalt
maxLevel3

...


Es existieren mehrere Möglichkeiten

...

Barcodes mit Jasperreports zu verwenden. In der

...

Palette stehen unter der Komponente Barcode zwei Bibliotheken zur Verfügung barcode4j und barbecue-1.5-beta1.


 Einbinden eines Barcodes in einen Report

1. Barcodekomponente in der Palette auswählen und auf das Arbeitsblatt ziehen

2. Auswählen der gewünschten Barcode Bibliothek und eines Barcode Typen

3. Bestätigen per Klick auf Finish

Image Added

In den Eigenschaften des Barcode-Feldes wird der Wert oder die Zeichenfolge, die der Barcode repräsentieren soll, eingegeben.

...

Image Removed

zur Verwendung im Designer reicht es

...

Es gibt Barcodes die Zeichenketten in beliebiger Länge repräsentieren und andere die nur eine bestimmte Anzahl Zeichen akzeptieren.

Image Added

Barcode einbinden über das Image-Objekt

Die vorhergehende Methode ist die einfachste zum Einbinden eines Barcodes in ein Formular. Sollten dennoch Anforderungen entstehen, wie z.B. das Ändern der Schriftart und Größe des Textes unterhalb des Barcodes, kann der Barcode über das Image-Objekt eingebunden werden. In folgenden Beispiel wird davon ausgegangen, dass ein 13-stelliger Barcode übergeben wird, für welchen die Schriftart und Größe des Textes unterhalb geändert werden.

 Dafür wird ein Java-Library Project mit einer Klasse in der folgenden Struktur angelegt:

Die EANDreiZehn.jar , sowie die

...

+ jdom.jar werden dem Classpath der integrierten Jasperreports-6.17.0.jar, wie unter den nachfolgenden Überschriften beschrieben, zugänglich gemacht.

Image Added

Im Formular-Designer wird das erwähnte Image-Element aus der Palette auf dem Arbeitsblatt platziert und die entsprechenden Eigenschaften wie im Bild links gesetzt.

      •                  Image Expression = org.barcodeself.EAN13.createEANdreiZehn("12-stellig")
      •                  Expression Class = java.awt.Image

 

...

 

 

 

 

 

 

 

 

Für die Verwendung im Nuclos müssen folgende Schritte durchgeführt werden.

Einen Ordner extensions anlegen

Dazu zu muss im Vorfeld im Installationspfad von Nuclos ein Ordner "extensions" angelegt werden. In Abhängigkeit der darin enthaltenen Funktionalität enthält der Ordner seine eigene Struktur(Unterordner) client für clientseitig, server für serverseitig, common für beides.

Barcodes in Nuclos

In Jaspersoft Studio können beide Barcode Varianten ohne Weiteres benutzt werden. Um sie in Nuclos zu benutzen, müssen die benötigten Abhängigkeiten hinzufügen. In folgendem werden die benötigten Abhängigkeiten für Barbecue und Barcode4J aufgelistet. 

Barbecue

...

Keysignen aller benötigten Jar's

Nuclos überprüft, ob alle in dem Extensions-Ordner enthaltenen Jar's einer selben Quelle entstammen. Dies ist eine Sicherheitsroutine die in den Kernfunktionalitäten enthalten ist. Daraus ergibt sich, dass die barcode.jar und die Abhängigkeiten den ein und dem selben Key enthalten müssen.

Falls noch keine Extensions im Nuclos vorhanden sind und noch kein Key erstellt wurde, öffnet man ein Terminal und führt folgende Zeile aus:
/<Java-Installation-JDK>/bin/keytool -genkeypair -dname "cn=Firstname Lastname, ou=Unit, o=Novabit, c=DE" -alias barcode -keypass nuclos -keystore /tmp/keystore -storepass nuclos -validity 360 (fett gedruckt = eigene Werte)

...

Barcode4J

Wie Sie diese Extensions genau zu Nuclos hinzufügen erfahren Sie in dem Kapitel Jasper Extensions in Nuclos.


Codeblock
languagejava
titleEANDreiZehn
/*
 * 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);
    }
}

EAN13


Der EAN 13 (European Article Number) hat seinen Namen auf Grund seiner Länge von 13 Ziffern die er repräsentiert. Für die Verwendung im Formular ist zu beachten, das die letzte Ziffer die 13. eine Prüfziffer ist und bei der Generierung angefügt wird. Ergo es dürfen dem Barcodegenerator nur 12 Ziffern übergeben werden.



Sollte der EAN13 schon über einen externen Generator erstellt worden sein, ist die letzte Ziffer zu entfernen. Das kann bereits in der Datenquelle geschehen  z.Bsp.: 'substring(ap."strean" from 1 for 12)"strean",' bei Postgres-Sql.

Image Added

Installer ausführen

Nachdem die Extensions-Struktur angelegt und alle Jar's den selben Key besitzen, muss auf die bestehende Installation ein Update ausgeführt werden, indem der Installer einfach noch einmal ausgeführt wird. Im Log der Installation kann verfolgt werden, ob die neue Ordnerstruktur bzw. die Jar's mit installiert werden.

weitere Möglichkeiten

 

 

...