Personnalisation du code-barres
La fonction XMPBarcode est dotée d’un troisième paramètre facultatif afin de spécifier une plus grande personnalisation du code-barres. Ce paramètre peut être ajouté, par exemple, pour déterminer la couleur du code-barres. Pour les codes-barres unidimensionnels, vous pouvez l’utiliser pour déterminer la largeur du module (ligne).
Les options suivantes peuvent être contrôlées par le troisième paramètre pour tous les codes-barres :
-
Paramètre Module Width : définit la largeur de module des codes-barres unidimensionnels .
-
Paramètre de largeur de code-barres : spécifie la réduction des largeurs des barres.
-
Paramètre Height (Hauteur) : définit la hauteur du code-barres des codes-barres unidimensionnels.
-
Paramètre CodePage : détermine la page de codes utilisée pour encoder la chaîne de codes-barres dans la symbologie de codes-barres sélectionnée.
-
Paramètre BinaryString : traite l'entrée comme un flux de données binaires qui non affecté par la page de codes.
-
Paramètres Color : personnalise votre code-barres en définissant une couleur différente pour le texte du code-barres, l'image du code-barres et l'arrière-plan de l' image du code-barres.
-
Paramètre HideReadableText : masque la légende du texte lisible par l'homme dans les codes-barres unidimensionnels .
-
Paramètre FontSize : détermine la taille de caractères du texte lisible par l’homme sur les codes-barres unidimensionnels.
-
Somme de contrôle : Active ou désactive l'option Chiffre de contrôle.
-
EscapeSequences : active le codage des caractères d'échappement dans l’entrée de chaîne de code.
Pour ajouter un troisième paramètre :
-
Ajoutez une virgule (,) après votre texte encodé.
-
Ajoutez une chaîne paramètre QLingo : guillemets ('') entourant le nom du troisième paramètre (par exemple, ModuleWidth) et sa valeur personnalisée.
-
Si vous souhaitez combiner plusieurs options, séparez-les par un point-virgule (;).
Exemple 1
XMPBarcode("Code128", "01234567", "ModuleWidth=508")
Dans cet exemple, le troisième paramètre est utilisé pour déterminer mla largeur du module pour un code-barres Code 128. La clé (ModuleWidth) et la valeur (508) du paramètre sont séparées par le signe égal (=) et entourées de guillemets ('').
Exemple 2
XMPBarcode("Code128", "01234567", "ModuleWidth=508;Color=rgb(255,0,0)")
Cet exemple détermine la couleur du code-barres en plus de la largeur de son module.
Notez comment l'option ModuleWidth est séparée de l'option Color par un point-virgule (;). Les guillemets (") entourent toute l’expression du troisième paramètre.
Paramètre Module Width
Module Width représente la largeur du plus petit élément du code-barres. Il est spécifié en millièmes de millimètres (1/1000mm). Par défaut, la largeur du module est de 0,254 mm.
Exemple :XMPBarcode("Code128", "1234567890", "ModuleWidth=508")
Paramètre de largeur de code-barres
Définit la réduction de la largeur de barre (Pixel-Shaving) d’une unité donnée.
Spécifie la réduction des largeurs de barre. La largeur d’une barre dans le code-barres est diminuée de la valeur donnée sur l’unité donnée. Cette propriété est utile pour l’impression sur les imprimantes à jet d’encre : Sur ces imprimantes , les barres apparaissent plus larges que celles spécifiées, car l’encre a tendance à légèrement s’étaler . Vous pouvez compenser cet effet en définissant une valeur appropriée de réduction de largeur de barre (appelé également « Pixel Shaving »). Vous devez faire quelques essais pour trouver les paramètres appropriés, car cet effet dépend de l'imprimante, du papier utilisé et de l'encre. Le module-width imprimé est égal au module-width théoriquement optimal, diminué de la valeur de réduction.
Exemple :XMPBarcode("Code128", "1234567890", "WidthReduction=0.1") où 0.1 représente la taille de la réduction en mm.
Paramètre Height (Hauteur)
Le paramètre Hauteur indique la hauteur du code-barres en millimètres. Lorsque ce paramètre n’est pas utilisé, la hauteur par défaut est sélectionnée.
Exemple :XMPBarcode("Code128", "1234567890", "Height=20")
Paramètre CodePage
Vous voudrez peut-être contrôler la page de code du code-barres. Une page de code définit comment les caractères du texte sont encodés. Pour toutes les symbologies de codes-barres, la page de code par défaut est UTF-8. Vous pouvez définir une page de code différente grâce au paramètre CodePage.
Remarques :
-
Si vos données d'entrée contiennent des caractères qui ne font pas partie de la page de codes par défaut , ces caractères sont perdus (ils n'apparaissent pas dans le code-barres).
-
Si la page de codes par défaut n'est pas celle attendue par votre lecteur de codes-barres, des informations erronées (autres caractères) apparaissent dans le code-barres.
Les valeurs utilisables sont les suivantes :
-
Défaut-UTF-8
-
Local-la page de codes définis dans les Options régionales et de langue de la station.
-
Windows1252
-
ISO8859-1
-
ASCIIExtended437
-
UTF8
-
Korean949
-
ShiftJIS932
-
SimplifiedChinese936
-
TraditionalChinese950
-
ANSICyrillic1251
-
KOI8-R20866
L’exemple suivant montre comment définir la page de code de code QR à ShiftJIS932 :
XMPBarcode("QRCode", ''http:www.xmpie.com/udirect'', "CodePage=ShiftJIS932")
Paramètre BinaryString
Grâce à la fonction XMPBarcode, vous pouvez encoder la chaîne d’entrée telle quelle. Pour cela, utilisez le paramètre BinaryString. Il est utile si vous voulez encoder des caractères binaires qui ne peuvent pas être représentés sous forme de texte.
Vous pouvez personnaliser le paramètre BinaryString du code-barres en définissant l’une des valeurs suivantes :
-
false : falsetraite l’entrée comme une chaîne de caractères.
-
true : true traite l’entrée comme un flux de données binaires.
-
hex : hextraite l’entrée comme un flux de données binaires, représentées par des nombres hexadécimaux. Chaque paire de caractères représente un octet.
Example : XMPBarcode("Code128","02DC","BinaryString=hex")
Dans cet exemple, la fonction de code-barres encode le caractère FNC1, qui ne peut pas être représenté sous forme de texte, pour un code-barres Code 128 .
Paramètres Color
Vous pouvez personnaliser votre code-barres en ajoutant de la couleur. Une couleur différente peut être attribuée au texte, à l’image et à l’arrière-plan de l’image du code-barres.
Les paramètres suivants permettent de personnaliser la couleur :
-
Couleur : contrôle l’image du code-barres
-
BackgroundColor : BackgroundColorcontrôle l’arrière-plan de l’image
-
FontColor : contrôle le texte du code-barres en cas d’utilisation de texte
Une valeur d’espace de couleur CMJN ou RVB peut être attribuée à chacun des paramètres de couleur. Le paramètre BackgroundColor peut également être configuré de manière à être transparent en utilisant le mot-clé "none" (BackgroundColor=none). Les formats de sortie PDF et PDF/VT prennent également en charge l’option d’arrière-plan transparent dans les codes-barres.
Il existe différentes syntaxes permettant de décrire les valeurs de couleur. L’exemple ci-dessous permet de définir la valeur RVB dans une plage allant de 0 à 255.
Example : XMPBarcode("Code128","123","Color=rgb(0,255,0)")
rgb(0,255,0)se traduit par une valeur 0 pour le rouge, une valeur 255 pour le vert et une valeur 0 pour le bleu, ce qui donne une couleur verte au code-barres.
Voici la liste complète des options de formatage :
#RRGGBB : paires hexadécimales pour la couleur RVB. Les valeurs sont comprises entre 0 et FF. Par exemple, #00FF00 est le vert.
#CCMMYYKK : paires hexadécimales pour la couleur CMJN. Les valeurs sont comprises entre 0 et FF. Par exemple, #00FF0000 est le magenta.
rgb(R%,G%,b %) : pourcentage de couleur pour la couleur RVB. Les valeurs sont comprises entre 0 % et 100 %. Par exemple rvb(0%,100%,0%) est le vert.
cmyk(C%,M%,Y%,K%): pourcentage de couleur pour la couleur CMJN. Les valeurs sont comprises entre 0 % et 100 %. Par exemple cmyk(0%,100 %,0%,0%) est magenta.
rgb(R,G,B) : valeur décimale de couleur pour la couleur RVB. Les valeurs sont comprises entre 0 et 255. Par exemple rgb(0,255,0) est le vert.
cmyk(C,M,Y,K) : valeur décimale de couleur pour la couleur CMJN. Les valeurs sont comprises entre 0 et 255. Par exemple cmyk(0,255,0,0) est le magenta.
Exemple : Code QR et paramètre de couleur
XMPBarcode("QRCode", "http://www.xmpie.com", "Color=rgb(100%,0%,0%);")
Exemple : Code QR et paramètres de couleur et de couleur d’arrière-plan
XMPBarcode("QRCode", "http://www.xmpie.com", "Color=cmyk(100%,0%,100%,0%);BackgroundColor=cmyk(0%,0%,100%,0%);")
Tons directs
Les codes-barres peuvent également être dessinés avec des tons directs.
Le nom du ton direct utilise la commande : “SpotColor=<string>”, BackgroundSpotColor ou FontSpotColor.
Chacun des paramètres possède un paramètre dépendant obligatoire :
-
SpotColor est dépendant de la couleur
-
BackgroundSpotColor est dépendant de l’option BackgroundColor
-
FontSpotColor est dépendant de l’option FontColor
Notez que seules les valeurs CMJN peuvent être utilisées pour les tons directs.
Exemple : Code QR avec des tons directs
XMPBarcode("QRCode", "www.xmpie.com", "Color=cmyk(40.05%, 47.93%, 76.67%, 17.04%);BackgroundColor=cmyk(100%,0,0,0); SpotColor = PANTONE 872 C")
Remarques :
-
Les tons directs dépendent des valeurs de couleur qui sont définies en premier.
-
Cette fonctionnalité est prise en charge uniquement pour les formats de sortie PDF et PDF/VT.
-
La fonctionnalité fonctionne pour tous les flux de travail InDesign dans uProduce. Cette option fonctionne aussi pour XLIM si uProduce dispose d’un serveur InDesign (dans une configuration utilisant la version uProduce XLIM Edition , cette fonctionnalité n'est pas prise en charge).
Paramètre HideReadableText
Utilisé pour masquer la légende de texte lisible par l’homme en codes à barres unidimensionnels.
Exemple :XMPBarcode("Code128", "1234567890", "HideReadableText=true")
Les valeurs prises en charge sont les suivantes :
true – masquer le texte lisible par l’homme
false – montrer le texte lisible par l’homme
Paramètre FontSize
Détermine la taille de caractères du texte lisible par l’homme.
Exemple :XMPBarcode("Code128", "1234567890", "FontSize=15")
Paramètre Checksum
Le paramètre Checksum détermine si le chiffre de contrôle est affiché ou non dans le code-barres. Le chiffre de contrôle consiste en un ou plusieurs caractères inclus dans le code-barres qui sont utilisés pour effectuer une vérification mathématique afin de garantir l'exactitude des données scannées. Les chiffres de contrôle sont obligatoires dans certains codes-barres ou sont même inclus dans la symbologie.
Exemple :XMPBarcode("Code128", "1234567890", "Checksum=1")
1 – calculer et afficher le chiffre de contrôle
0 – masquer le chiffre de contrôle (pour les codes-barres qui ont le chiffre de contrôle par défaut).
Remarque : Concernant le code-barres PDF417, le paramètre Somme de contrôle utilise des valeurs autres (voir PDF417).
Paramètre EscapeSequences
Si vous voulez utiliser des caractères non imprimables ou spéciaux dans un code-barres, vous devez utiliser une séquence d’échappement. Une séquence d’échappement commence toujours par une barre oblique inverse (‘\’) et est suivie par la séquence.
Les valeurs prises en charge sont :
-
True – activer EscapeSequences
-
Faux - désactiver EscapeSequences (option par défaut)
Lorsque le paramètre est omis, la valeur par défaut est false.
Exemple :XMPBarcode("USPSIMPackage", "420123456789\\F9212391234567812345670", "EscapeSequences=true")
Dans certains cas, et il vous faudra peut-être indiquer au logiciel que le code-barres contient des informations supplémentaires , par exemple des informations de routage.
Le caractère FNC1 est un caractère invisible utilisé pour identifier et séparer des champs pour des identifiants d’application de longeur variable. Un identifiant d’application est utilisé pour identifier le sens des données codées.
Il est possible d’ajouter le caractère FNC1 en insérant « \\F » dans la chaîne où le caractère est requis.
Si vous utilisez une fonction de code-barre classique comme :
XMPBarcode("USPSIMPackage", |->[ADOR_name], "")
Vous obtiendrez le résultat suivant :
Dans le code suivant, FNC1 est placé en position 13 :
XMPBarcode("USPSIMPackage ", substring(|->[ADOR_name],0,12) & "\\F" & substring(|->[ADOR_name],13,Length(|->[ADOR_name])), " EscapeSequences=true")
Le résultat est :