Options des codes-barres

La fonction XMPBarcode prend en charge un troisième paramètre optionnel qui permet de définir des réglages supplémentaires pour certains types de codes-barres. Par exemple, vous pouvez l'utiliser pour définir la couleur du code-barres. Pour les codes-barres linéaires (unidimensionnels), il permet également de définir les largeurs de module (ligne et espace).

Les options suivantes peuvent être contrôlées par le troisième paramètre pour tous les codes-barres :

  • Paramètre de largeur de module : définit la largeur de module pour les codes-barres unidimensionnels.

  • Paramètre de largeur du code-barres : spécifie la réduction des largeurs de barre.

  • Paramètre de hauteur : définit la hauteur du code-barres pour les codes-barres unidimensionnels.

  • Paramètre CodePage : détermine la page de code utilisée pour encoder la chaîne du code-barres dans la symbologie sélectionnée.

  • Paramètre BinaryString : traite l'entrée comme un flux de données binaires non affecté par le paramètre CodePage.

  • Paramètres de couleur : personnalise votre code-barres en définissant une couleur différente pour le texte, l'image et l'arrière-plan de l'image du code-barres.

  • Paramètre HideReadableText : masque le texte lisible (Human Readable Text) dans les codes-barres unidimensionnels.

  • Paramètre FontSize : détermine la taille de police du texte lisible (Human Readable Text) dans les codes-barres unidimensionnels.

  • Checksum : active ou désactive l'option de chiffre de contrôle.

  • EscapeSequences : active l'encodage des séquences d'échappement dans la chaîne d'entrée du code-barres.

  • BarShape : utilisé pour personnaliser les barres du code-barres (rectangle, rectangle arrondi, ellipse ou grande ellipse).

  • Paramètre ECLevel : définit le niveau de correction d'erreur pour les codes QR (L, M, Q, H).

Pour ajouter un troisième paramètre :

  1. Ajoutez une virgule (,) après votre texte encodé.

  2. Ajoutez un paramètre de type chaîne QLingo : des guillemets ('') entourant le nom du troisième paramètre (par exemple, ModuleWidth) et sa valeur personnalisée.

  3. 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éfinir la largeur de module d'un code-barres Code 128. La clé du paramètre (ModuleWidth) et la valeur (508) 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éfinit la couleur du code-barres en plus de sa largeur de module.

Notez que l'option ModuleWidth est séparée de l'option Color par un point-virgule (;). Les guillemets ('') entourent l'ensemble de l'expression du troisième paramètre.

Paramètre de largeur de module

La largeur de module est la largeur du plus petit élément du code-barres. Elle est exprimée en millièmes de millimètre (1/1000 mm). Par défaut, la largeur de module est de 0,254 mm.

Barcode_Module_Width.png

Exemple : XMPBarcode("Code128", "1234567890", "ModuleWidth=508")

Paramètre de largeur du code-barres

Définit la réduction de la largeur de barre (Pixel-Shaving) dans l'unité donnée.

Spécifie la réduction des largeurs de barre. La largeur d'une barre dans le code-barres est réduite de la valeur donnée dans l'unité spécifiée. Cette propriété est utile lors de l'impression sur des imprimantes à jet d'encre : sur ces imprimantes, les barres apparaissent plus larges que prévu car l'encre s'étale légèrement. Vous pouvez compenser cet effet en définissant une réduction de largeur de barre (également appelée « Pixel Shaving ») à une valeur appropriée. Vous devez faire des essais pour trouver les réglages appropriés car cet effet dépend de l'imprimante, du papier utilisé et de l'encre. La largeur de module imprimée est égale à la largeur de module théoriquement optimale réduite de la valeur de réduction.

Exemple :XMPBarcode("Code128", "1234567890", "WidthReduction=0.1") où 0.1 est la taille de réduction en mm.

Paramètre de hauteur

Le paramètre Height spécifie 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 pouvez souhaiter contrôler la page de code du code-barres. Une page de code définit la manière dont les caractères de 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 à l'aide du paramètre CodePage.

Remarques :

  • Si vos données d'entrée contiennent des caractères qui ne font pas partie de la page de code par défaut, ces caractères sont perdus (ils n'apparaissent pas dans le code-barres).

  • Si la page de code par défaut n'est pas celle attendue par votre lecteur de codes-barres, des informations erronées (d'autres caractères) apparaissent dans le code-barres.

Les valeurs possibles sont :

  • Default - UTF-8

  • Local - la page de code définie dans les options régionales et linguistiques de la machine.

  • Windows1252

  • ISO8859-1

  • ASCIIExtended437

  • UTF8

  • Korean949

  • ShiftJIS932

  • SimplifiedChinese936

  • TraditionalChinese950

  • ANSICyrillic1251

  • KOI8-R20866

L'exemple suivant montre comment définir la page de code d'un QR code en ShiftJIS932 :

XMPBarcode("QRCode", ''http:www.xmpie.com/udirect'', "CodePage=ShiftJIS932") 

Paramètre BinaryString

Vous pouvez demander à la fonction XMPBarcode d'encoder la chaîne d'entrée telle quelle. Pour ce faire, utilisez le paramètre BinaryString. Cela est utile lorsque vous souhaitez 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 le définissant sur l'une des valeurs suivantes :

  • false : traite l'entrée comme une chaîne de texte.

  • true : traite l'entrée comme un flux de données binaires.

  • hex : traite l'entrée comme un flux de données binaires, représenté en nombres hexadécimaux. Chaque paire de caractères représente un seul octet.

Exemple : 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 de couleur

Vous pouvez personnaliser votre code-barres en ajoutant de la couleur. Une couleur différente peut être définie pour le texte du code-barres, l'image du code-barres et pour l'arrière-plan de l'image du code-barres.

Les paramètres suivants vous permettent de personnaliser la couleur :

  • Color : contrôle l'image du code-barres

  • BackgroundColor : contrôle l'arrière-plan de l'image

  • FontColor : contrôle le texte du code-barres, lorsque du texte est utilisé

Chacun des paramètres de couleur peut recevoir une valeur d'espace colorimétrique CMYK ou RGB. Le paramètre BackgroundColor peut également être défini comme 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 pour les codes-barres.

Il existe plusieurs syntaxes que vous pouvez utiliser pour décrire les valeurs de couleur. L'exemple ci-dessous fournit la couleur RGB en utilisant une plage de 0 à 255.

Exemple :XMPBarcode("Code128","123","Color=rgb(0,255,0)")

rgb(0,255,0) correspond à une valeur de 0 pour le rouge, 255 pour le vert et 0 pour le bleu, ce qui donne une couleur verte pour le code-barres.

La liste complète des options de formatage est :

#RRGGBB : paires hexadécimales pour la couleur RGB. Les valeurs sont comprises entre 0 et FF. Par exemple, #00FF00 correspond au vert.

#CCMMYYKK : paires hexadécimales pour la couleur CMYK. Les valeurs sont comprises entre 0 et FF. Par exemple, #00FF0000 correspond au magenta.

rgb(R%,G%,B%) : pourcentage de couleur pour la couleur RGB. Les valeurs sont comprises entre 0 % et 100 %. Par exemple, rgb(0%,100%,0%) correspond au vert.

cmyk(C%,M%,Y%,K%) : pourcentage de couleur pour la couleur CMYK. Les valeurs sont comprises entre 0 % et 100 %. Par exemple, cmyk(0%,100%,0%,0%) correspond au magenta.

rgb(R,G,B) : valeur décimale de couleur pour la couleur RGB. Les valeurs sont comprises entre 0 et 255. Par exemple, rgb(0,255,0) correspond au vert.

cmyk(C,M,Y,K) : valeur décimale de couleur pour la couleur CMYK. Les valeurs sont comprises entre 0 et 255. Par exemple, cmyk(0,255,0,0) correspond au magenta.

Exemple : QR Code avec un paramètre de couleur

XMPBarcode("QRCode", "http://www.xmpie.com", "Color=rgb(100%,0%,0%);")

Barcode_QRCode_Color.png

Exemple : QR Code avec un paramètre 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%);")

Barcode_QRCode_Color_Background.png

Couleurs d'accompagnement

Les codes-barres peuvent également être dessinés avec des couleurs d'accompagnement.

Le nom de la couleur d'accompagnement utilise la commande : "SpotColor=<string>", BackgroundSpotColor ou FontSpotColor.

Chacun des paramètres a un paramètre obligatoire dépendant :

  • SpotColor dépend de Color 

  • BackgroundSpotColor  dépend de BackgroundColor

  • FontSpotColor  dépend de FontColor

Notez que seules les valeurs CMYK peuvent être utilisées pour les couleurs d'accompagnement.

Exemple : QR Code avec des couleurs d'accompagnement

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 couleurs d'accompagnement nécessitent que les valeurs de couleur soient d'abord définies.

  • Cette fonctionnalité est prise en charge uniquement pour les    formats de sortie PDF et PDF/VT.

  • Cette fonctionnalité est disponible pour tous les flux de travail basés sur InDesign dans uProduce. Elle fonctionne pour XLIM si uProduce dispose d'InDesign Server installé (dans la configuration uProduce XLIM Edition, cette fonctionnalité n'est pas prise en charge).

Paramètre HideReadableText

Utilisé pour masquer le texte lisible (Human Readable Text) dans les codes-barres unidimensionnels.

Exemple : XMPBarcode("Code128", "1234567890", "HideReadableText=true")

Les valeurs prises en charge sont :

true - masquer le texte lisible (Human Readable Text)

false - afficher le texte lisible (Human Readable Text)

Paramètre FontSize

Détermine la taille de police du texte lisible (Human Readable Text).

Exemple :XMPBarcode("Code128", "1234567890", "FontSize=15")

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 est constitué d'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 numérisées. Les chiffres de contrôle sont obligatoires pour certains codes-barres ou sont même intégrés 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 comportent le chiffre de contrôle par défaut).

Remarque : Pour le code-barres PDF417, le paramètre Checksum utilise des valeurs différentes (voir PDF417).

EscapeSequences

Si vous souhaitez utiliser des caractères non imprimables ou spéciaux dans un code-barres, vous devez utiliser des séquences d'échappement. Une séquence d'échappement commence toujours par une barre oblique inverse ('\') suivie de la séquence elle-même.

Les valeurs prises en charge sont :

  • True - activer EscapeSequences

  • False - 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, vous devrez peut-être indiquer au logiciel qu'il y a des informations supplémentaires dans le code-barres ; par exemple, des informations de routage.

Le caractère FNC1 est un caractère invisible utilisé pour identifier et séparer les champs des identifiants d'application de longueur variable. Un identifiant d'application est utilisé pour identifier la signification des données encodées.

Il est possible d'ajouter le caractère FNC1 en insérant « \\F » dans la chaîne à l'endroit où le caractère est nécessaire.

Si vous utilisez une fonction de code-barres standard telle que :

XMPBarcode("USPSIMPackage", |->[ADOR_name], "")

Vous obtiendrez le résultat suivant :

Dans le code suivant, FNC1 est placé à la position 13 :

XMPBarcode("USPSIMPackage ", substring(|->[ADOR_name],0,12) & "\\F" & substring(|->[ADOR_name],13,Length(|->[ADOR_name])), " EscapeSequences=true")

Le résultat est :

Forme des barres

Vous pouvez personnaliser les barres du code-barres (également appelées « modules » ou « cellules »).

Pour une utilisation standard, nous recommandons fortement d'utiliser uniquement la forme de barre « Default ». L'utilisation d'un autre mode peut compromettre la lisibilité du code-barres.

La modification n'a de sens que pour des applications spéciales comme les publicités, les codes-barres ludiques, etc., qui n'exigent pas la lisibilité des codes-barres.

Les formes suivantes sont prises en charge :

  • Default : Les barres du code-barres sont dessinées dans leur forme par défaut.

  • Rectangle : Les barres du code-barres sont dessinées sous forme de rectangles.

  • RoundedRectangle : Les barres du code-barres sont dessinées sous forme de rectangles arrondis.

  • Ellipse : Les barres du code-barres sont dessinées sous forme de cercles ou d'ellipses.

  • BigEllipse : Les barres du code-barres sont dessinées sous forme de grands cercles ou de grandes ellipses.

Ellipse et BigEllipse ne sont prises en charge que lorsque le code-barres est généré en PostScript. Vous pouvez forcer la génération du code-barres dans un type donné (PostScript ou PDF) en ajoutant OutputType=Postscript comme paramètre supplémentaire. Il est important de noter que le changement du type de sortie affectera les performances, en particulier avec XLIM.

Exemple de forme de barre RoundedRectangle :

XMPBarcode("QRCode",FormatNumber((|->{index},"00000000000000),"BarShape=RoundedRectangle")

Exemple de forme de barre Ellipse :

XMPBarcode("QRCode",FormatNumber((|->{index},"00000000000000),"BarShape=Ellipse;OutputType=PostScript")

Paramètre ECLevel

Le paramètre ECLevel définit le niveau de correction d'erreur pour les codes QR. Le paramètre ECLevel augmente la capacité de correction d'erreur du QR code, ce qui contribue à préserver la lisibilité si le code est partiellement masqué ou altéré (par exemple, par un logo au centre).

Valeurs disponibles :

  • Low (récupération d'erreur de 7 %)

  • Medium (15 %)

  • Quartil (25 %)

  • High (30 %)

Exemple : XMPBarCode("QRCode","http://www.xmpie.com","ECLevel = Low")

Pour plus de détails et d'exemples, voir Codes-barres avec paramètres spéciaux.

Rubriques associées

Définition d'un code-barres dynamique

Ajustement du code-barres dans le bloc d'image