Fonctions de code-barres

www.altova.com Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Informations moteur > Fonctions XSLT et XPath/XQuery > Fonctions d'extension Altova >

Fonctions de code-barres

Le moteur XSLT utilise des librairies Java tierces pour créer des codes-barres. Ci-dessous, vous trouverez les classes et les méthodes publiques utilisées. Les classes sont emballées dans AltovaBarcodeExtension.jar, qui se trouve dans le dossier <ProgramFilesFolder>\Altova\Common2019\jar.

 

Les librairies Java utilisées se trouvent dans les sous-dossiers du dossier <ProgramFilesFolder>\Altova\Common2019\jar:

 

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

 

Les fichiers de licence sont également situés dans les dossiers respectifs.

 

Machine virtuelle Java

Afin de pouvoir utiliser les fonctions de code-barres, une machine virtuelle Java doit être disponible sur votre appareil. Pour trouver le chemin vers la machine voir l'encadré ci-dessous.

 

Si vous utilisez un produit de desktop Altova, les tentatives d'application Altova pour détecter automatiquement le chemin vers la machine virtuelle Java, en lisant (dans cet ordre) : (i) le registre Windows, et (ii) la variable d'environnement JAVA_HOME. Vous pouvez aussi ajouter un chemin personnalisé dans le dialogue Options de l'application ; cette entrée prendra la priorité sur tout autre chemin Java VM détecté automatiquement.
Si vous exécutez un produit serveur Altova sur un appareil Windows, le chemin vers la machine virtuelle sera lu tout d'abord depuis le registre Windows ; si cela échoue, la variable d'environnement JAVA_HOME sera utilisée.
Si vous exécutez un produit de serveur Altova sur un appareil Linux ou macOS, veuillez vous assurer que le chemin vers la machine virtuelle est stocké dans la variable d'environnement JAVA_HOME. Le chemin doit pointer vers le fichier jvm.dll dans le répertoire \bin\server or \bin\client.

 

 

Le package com.altova.extensions.barcode

Le package, com.altova.extensions.barcode, est utilisé pour générer la plupart des types de code-barres.

 

Les classes suivantes sont utilisées :

 

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 Used to store the barcode properties that will be dynamically set later

 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 Enregistre la classe com.altova.extensions.barcode.proxy.zxing.QRCodeBean pour le qrcode bean, en plus des classes enregistrées par le org.krysalis.barcode4j.DefaultBarcodeClassResolver.

 

 

Le package com.altova.extensions.barcode.proxy.zxing

Le package, com.altova.extensions.barcode.proxy.zxing, est utilisé pour générer le code-barres de type QRCode.

 

Les classes suivantes sont utilisées :

 

classe QRCodeBean

 

Élargit org.krysalis.barcode4j.impl.AbstractBarcodeBean
Crée une interface AbstractBarcodeBean pour com.google.zxing.qrcode.encoder

 

 void generateBarcode(CanvasProvider canvasImp, String msg)

 void setQRErrorCorrectionLevel(QRCodeErrorCorrectionLevel level)

 BarcodeDimension calcDimensions(String msg)

 double getVerticalQuietZone()

 double getBarWidth()

 

classe QRCodeErrorCorrectionLevel Erreur niveau de correction pour le QRCode

 static QRCodeErrorCorrectionLevel byName(String name)

 “L” = ~7% correction

 “M” = ~15% correction

 “H” = ~25% correction

 “Q” = ~30% correction

 

 

Exemple XSLT

Ci-dessous, vous trouverez un exemple XSLT pour démontrer comment les fonctions de code-barres sont utilisées dans une feuille de style XSLT.

 

<?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