Barcode-Funktionen

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Anhänge > XSLT- und XPath/XQuery-Funktionen > Altova-Erweiterungsfunktionen >

Barcode-Funktionen

Der XSLT-Prozessor verwendet zur Erstellung von Barcodes Java-Bibliotheken von Drittanbietern. Im Folgenden finden Sie die verwendeten Klassen und öffentlichen Methoden. Die Klassen befinden sich im Paket AltovaBarcodeExtension.jar, das im Ordner <ProgramFilesFolder>\Altova\Common2019\jar.

gespeichert ist.

 

Die verwendeten Java-Bibliotheken befinden sich in Unterordnern des Ordners <ProgramFilesFolder>\Altova\Common2019\jar.

 

barcode4j\barcode4j.jar  (Website: http://barcode4j.sourceforge.net/)
zxing\core.jar  (Website: http://code.google.com/p/zxing/)

 

Die Lizenzdateien befinden sich ebenfalls in den entsprechenden Ordnern.

 

 

Java Virtual Machine

Um die Barcode-Funktionen verwenden zu können, muss auf Ihrem Rechner eine Java Virtual Machine zur Verfügung stehen. Der Pfad zu dieser Machine wird, wie unten angeführt, gefunden.

 

Wenn Sie ein Altova Desktop-Produkt verwenden, versucht die Altova-Applikation, den Pfad zur Java Virtual Machine automatisch zu ermitteln. Dazu wird zuerst (i) die Windows Registry und dann (ii) die JAVA_HOME-Umgebungsvariable gelesen. Sie können im Dialogfeld "Optionen" der Applikation auch einen benutzerdefinierten Pfad hinzufügen. Dieser Eintrag hat Vorrang vor allen anderen automatisch ermittelten Java VM-Pfaden.
Wenn Sie ein Altova Server-Produkt auf einem Windows-Rechner ausführen, wird der Pfad zur Java Virtual Machine zuerst aus der Windows Registry ausgelesen. Falls dies nicht gelingt, wird die JAVA_HOME-Umgebungsvariable verwendet.
Wenn Sie ein Altova Server-Produkt auf einem Linux- oder macOS-Rechner ausführen, sollten Sie sicherstellen, dass der Pfad zur Java Virtual Machine in der JAVA_HOME-Umgebungsvariablen gespeichert ist. Der Pfad muss auf die Datei jvm.dll im Verzeichnis \bin\server oder \bin\client verweisen.

 

Das Paket com.altova.extensions.barcode

Das Paket com.altova.extensions.barcode wird zum Generieren der meisten der Barcode-Typen verwendet.

 

Die folgenden Klassen werden verwendet:

 

public class BarcodeWrapper

 static BarcodeWrapper newInstance( String name, String msg, int dpi, int orientation, BarcodePropertyWrapper[] arrProperties )

 double getHeightPlusQuiet()

 double getWidthPlusQuiet()

 org.w3c.dom.Document generateBarcodeSVG()

 byte[] generateBarcodePNG()

 String generateBarcodePngAsHexString()

 

public class BarcodePropertyWrapper Dient zum Speichern der Barcode-Eigenschaften, die zu einem späteren Zeitpunkt dynamisch definiert werden

 BarcodePropertyWrapper( String methodName, String propertyValue )

 BarcodePropertyWrapper( String methodName, Integer propertyValue )           

 BarcodePropertyWrapper( String methodName, Double propertyValue )

 BarcodePropertyWrapper( String methodName, Boolean propertyValue )

 BarcodePropertyWrapper( String methodName, Character propertyValue )

 String getMethodName()

 Object getPropertyValue()

 

public class AltovaBarcodeClassResolver Registriert die Klasse class com.altova.extensions.barcode.proxy.zxing.QRCodeBean zusätzlich zu den vom org.krysalis.barcode4j.DefaultBarcodeClassResolver registrierten Klassen für die qrcode Bean.

 

 

Das Paket com.altova.extensions.barcode.proxy.zxing

Das Paket com.altova.extensions.barcode.proxy.zxing wird zum Generieren des QRCode Barcodetyps verwendet.

 

Die folgenden Klassen werden verwendet:

 

Klasse QRCodeBean

 

Erweitert org.krysalis.barcode4j.impl.AbstractBarcodeBean
Erstellt ein AbstractBarcodeBean Interface für com.google.zxing.qrcode.encoder

 

 void generateBarcode(CanvasProvider canvasImp, String msg)

 void setQRErrorCorrectionLevel(QRCodeErrorCorrectionLevel level)

 BarcodeDimension calcDimensions(String msg)

 double getVerticalQuietZone()

 double getBarWidth()

 

Klasse QRCodeErrorCorrectionLevel Fehlerkorrekturebene für den QRCode

 static QRCodeErrorCorrectionLevel byName(String name)

 “L” = ~7% correction

 “M” = ~15% correction

 “H” = ~25% correction

 “Q” = ~30% correction

 

 

XSLT-Beispiel

Im Folgenden sehen Sie ein XSLT-Beispiel für die Verwendung von Barcode-Funktionen in einem XSLT Stylesheet.

 

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
   xmlns:xs="http://www.w3.org/2001/XMLSchema" 
   xmlns:fn="http://www.w3.org/2005/xpath-functions" 
   xmlns:altova="http://www.altova.com" 
   xmlns:altovaext=”http://www.altova.com/xslt-extensions 
   xmlns:altovaext-barcode="java:com.altova.extensions.barcode.BarcodeWrapper" 
   xmlns:altovaext-barcode-property="java:com.altova.extensions.barcode.BarcodePropertyWrapper">

   <xsl:output method="html" encoding="UTF-8" indent="yes"/>

   <xsl:template match="/">

      <html>

         <head><title/></head>

         <body>

            <img alt="barcode" src="{altovaext:get-temp-folder()}barcode.png"/>

         </body>

      </html>

      <xsl:result-document 
         href="{altovaext:get-temp-folder()}barcode.png" 
         method="text" encoding="base64tobinary" >

         <xsl:variable name="barcodeObject" 
            select="altovaext-barcode:newInstance(&apos;Code39&apos;,string(&apos;some value&apos;), 
            96,0, (altovaext-barcode-property:new( &apos;setModuleWidth&apos;, 25.4 div 96 * 2 ) ) )"/>

         <xsl:value-of select="xs:base64Binary(xs:hexBinary(string(altovaext-barcode:generateBarcodePngAsHexString($barcodeObject)) ))"/>

      </xsl:result-document>

   </xsl:template>

</xsl:stylesheet>

 


© 2019 Altova GmbH