ITF-14¶
Ajouté dans la version 0.16: La prise en charge d’ITF-14 et du 2 parmi 5 entrelacé a été ajoutée dans cette version.
ITF-14 est le code-barres GS1 correspondant à un GTIN-14 – l’identifiant à 14 chiffres imprimé sur les cartons et caisses d’expédition plutôt que sur l’article de détail qu’ils contiennent. C’est une application du 2 parmi 5 entrelacé (Interleaved 2 of 5, en abrégé ITF), qui compacte des paires de chiffres dans des barres et des espaces alternés, entourées d’une barre de support (bearer bar) qui encadre le symbole. Passez soit 13 chiffres (le chiffre de contrôle est calculé et ajouté), soit 14 chiffres (le dernier chiffre est traité comme un chiffre de contrôle et recalculé).
Voir aussi
2 parmi 5 entrelacé sur Wikipédia pour des informations générales sur la symbologie.
Les codes-barres 2 parmi 5 entrelacé sont définis dans la norme ISO/IEC 16390 (Technologies de l’information – Techniques automatiques d’identification et de capture des données – Spécifications des symbologies des codes à barres – Code 2 parmi 5 entrelacé).
Avertissement
Les codes GTIN-14 réels sont dérivés d’un GTIN attribué par GS1 ; vous ne pouvez pas simplement en inventer un.
L’entrée doit comporter exactement 13 ou 14 chiffres, ASCII 0-9. Toute autre valeur lève PyStrichInvalidPayloadLength. Le libellé en clair à 14 chiffres sous les barres est rendu par défaut (voir Libellé pour le supprimer).
Le chiffre de contrôle est toujours calculé par pyStrich ; passez soit 13 chiffres (il est ajouté), soit 14 chiffres (le dernier chiffre fourni est ignoré et recalculé) :
>>> from pystrich.itf import ITF14Encoder
>>> ITF14Encoder("1505007000766").full_code
'15050070007661'
>>> ITF14Encoder("15050070007660").full_code
'15050070007661'
Exemple¶
from pystrich.itf import ITF14Encoder
encoder = ITF14Encoder("1505007000766")
encoder.save_svg("itf14-example.svg")
Barre de support¶
ITF-14 est tracé avec une barre de support à cadre complet – la bordure épaisse qui entoure le symbole. Elle réduit le risque qu’une lecture partielle soit interprétée à tort comme un code court mais valide. Son épaisseur vaut par défaut 4 largeurs de barre étroite ; ajustez-la avec la clé bearer_width de ITFRenderOptions (réglez-la sur 0 pour omettre la barre de support) :
ITF14Encoder("1505007000766", options={"bearer_width": 6}).save("itf14.png")
Libellé¶
Le libellé en clair est rendu par défaut. Pour composer le vôtre à la place, supprimez-le avec show_label :
ITF14Encoder("1505007000766", options={"show_label": False}).save("itf14.png")
2 parmi 5 entrelacé¶
Pour un symbole 2 parmi 5 entrelacé simple – n’importe quel nombre pair de chiffres –, utilisez directement ITFEncoder. Il n’a pas de barre de support par défaut, mais accepte la même option bearer_width.
from pystrich.itf import ITFEncoder
ITFEncoder("1234567890").save_svg("itf-example.svg")
Formats de sortie¶
Comme les autres symbologies 1D, ITF-14 se rend en SVG (save_svg()), PNG (save()) et EPS (save_eps()). L’argument bar_width définit la largeur de la barre la plus étroite.
Voir aussi
Impression des codes-barres pour des conseils sur le choix de bar_width pour une sortie imprimée.
API¶
- class ITF14Encoder(code: str, options: ITFRenderOptions | None = None, *, require_valid_check_digit: bool = False)[source]¶
Bases :
ITFEncoderEncode un code de 13 ou 14 chiffres sous forme de code-barres ITF-14 (GTIN-14).
Le chiffre de contrôle est calculé pour vous. Si un code de 14 chiffres est fourni, son dernier chiffre est ignoré et recalculé. Le symbole est encadré par une barre de support, sauf si
bearer_widthest redéfini dansoptions.Utilisation typique:
encoder = ITF14Encoder("1540141453698") encoder.save("itf14.png")
- Variables:
check_digit – Le chiffre de contrôle modulo 10 calculé.
full_code – Le code de 14 chiffres, chiffre de contrôle compris (==
digits).
- get_eps(bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) str¶
Génère le code-barres et renvoie le balisage EPS.
- Paramètres:
bar_width – Largeur en points PostScript de la barre la plus étroite.
dark_hex – Couleur des barres et du texte, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Noir par défaut.light_hex – Couleur de fond, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA, opaque. Blanc par défaut.
- Type renvoyé:
- get_imagedata(bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) bytes¶
Génère le code-barres et renvoie les octets PNG.
- Paramètres:
bar_width – Largeur en pixels de la barre la plus étroite.
dark_hex – Couleur des barres et du texte, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Noir par défaut.light_hex – Couleur de fond, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Blanc par défaut.
- Renvoie:
Données d’image encodées en PNG.
- Type renvoyé:
- get_pilimage(bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) PILImage¶
Génère le code-barres et renvoie une image Pillow.
- Paramètres:
bar_width – Largeur en pixels de la barre la plus étroite.
dark_hex – Couleur des barres et du texte, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Noir par défaut.light_hex – Couleur de fond, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Blanc par défaut.
- Renvoie:
Le code-barres rendu.
- Type renvoyé:
- get_rect_marks() SymbolMarks¶
Renvoie les barres sombres du code-barres sous forme de rectangles en unités de mise en page.
- Type renvoyé:
Ajouté dans la version 0.18.
- get_svg(bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) str¶
Génère le code-barres et renvoie le balisage SVG.
- Paramètres:
bar_width – Largeur en unités utilisateur de la barre la plus étroite.
dark_hex – Couleur des barres et du texte, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Noir par défaut.light_hex – Couleur de fond, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Blanc par défaut.
- Type renvoyé:
- png_dataurl(bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) str¶
Génère le code-barres et renvoie une chaîne d’URL
data:PNG.- Paramètres:
bar_width – Largeur en pixels de la barre la plus étroite.
dark_hex – Couleur des barres et du texte, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Noir par défaut.light_hex – Couleur de fond, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Blanc par défaut.
- Type renvoyé:
- save(filename: str | os.PathLike[str], bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) None¶
Génère le code-barres dans un fichier PNG.
- Paramètres:
filename – Chemin où écrire le PNG.
bar_width – Largeur en pixels de la barre la plus étroite.
dark_hex – Couleur des barres et du texte, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Noir par défaut.light_hex – Couleur de fond, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Blanc par défaut.
- save_eps(filename: str | os.PathLike[str], bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) None¶
Enregistre le code-barres dans un fichier EPS. Passez un nom de fichier
.eps.- Paramètres:
filename – Chemin de sortie EPS.
bar_width – Largeur en points PostScript de la barre la plus étroite.
dark_hex – Couleur des barres et du texte, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Noir par défaut.light_hex – Couleur de fond, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA, opaque. Blanc par défaut.
- save_svg(filename: str | os.PathLike[str], bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) None¶
Enregistre le code-barres dans un fichier SVG. Passez un nom de fichier
.svg.- Paramètres:
filename – Chemin de sortie SVG.
bar_width – Largeur en unités utilisateur de la barre la plus étroite.
dark_hex – Couleur des barres et du texte, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Noir par défaut.light_hex – Couleur de fond, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Blanc par défaut.
- svg_dataurl(bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) str¶
Génère le code-barres et renvoie une chaîne d’URL
data:SVG.- Paramètres:
bar_width – Largeur en unités utilisateur de la barre la plus étroite.
dark_hex – Couleur des barres et du texte, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Noir par défaut.light_hex – Couleur de fond, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Blanc par défaut.
- Type renvoyé:
- class ITFEncoder(digits: str, options: ITFRenderOptions | None = None)[source]¶
Bases :
Bar1DEncoderEncode une chaîne de chiffres de longueur paire sous forme de code-barres 2 parmi 5 entrelacé.
Utilisation typique:
encoder = ITFEncoder("1234567890") encoder.save("itf.png")
- Variables:
digits – Les chiffres encodés.
bars – Le motif de barres et d’espaces sous forme de chaîne de
"1"et de"0".options – Dictionnaire d’options de rendu (vide si aucune n’a été fournie).
width – Largeur en pixels de la dernière image rendue.
height – Hauteur en pixels de la dernière image rendue.
- get_eps(bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) str¶
Génère le code-barres et renvoie le balisage EPS.
- Paramètres:
bar_width – Largeur en points PostScript de la barre la plus étroite.
dark_hex – Couleur des barres et du texte, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Noir par défaut.light_hex – Couleur de fond, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA, opaque. Blanc par défaut.
- Type renvoyé:
- get_imagedata(bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) bytes¶
Génère le code-barres et renvoie les octets PNG.
- Paramètres:
bar_width – Largeur en pixels de la barre la plus étroite.
dark_hex – Couleur des barres et du texte, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Noir par défaut.light_hex – Couleur de fond, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Blanc par défaut.
- Renvoie:
Données d’image encodées en PNG.
- Type renvoyé:
- get_pilimage(bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) PILImage¶
Génère le code-barres et renvoie une image Pillow.
- Paramètres:
bar_width – Largeur en pixels de la barre la plus étroite.
dark_hex – Couleur des barres et du texte, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Noir par défaut.light_hex – Couleur de fond, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Blanc par défaut.
- Renvoie:
Le code-barres rendu.
- Type renvoyé:
- get_rect_marks() SymbolMarks¶
Renvoie les barres sombres du code-barres sous forme de rectangles en unités de mise en page.
- Type renvoyé:
Ajouté dans la version 0.18.
- get_svg(bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) str¶
Génère le code-barres et renvoie le balisage SVG.
- Paramètres:
bar_width – Largeur en unités utilisateur de la barre la plus étroite.
dark_hex – Couleur des barres et du texte, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Noir par défaut.light_hex – Couleur de fond, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Blanc par défaut.
- Type renvoyé:
- png_dataurl(bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) str¶
Génère le code-barres et renvoie une chaîne d’URL
data:PNG.- Paramètres:
bar_width – Largeur en pixels de la barre la plus étroite.
dark_hex – Couleur des barres et du texte, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Noir par défaut.light_hex – Couleur de fond, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Blanc par défaut.
- Type renvoyé:
- save(filename: str | os.PathLike[str], bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) None¶
Génère le code-barres dans un fichier PNG.
- Paramètres:
filename – Chemin où écrire le PNG.
bar_width – Largeur en pixels de la barre la plus étroite.
dark_hex – Couleur des barres et du texte, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Noir par défaut.light_hex – Couleur de fond, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Blanc par défaut.
- save_eps(filename: str | os.PathLike[str], bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) None¶
Enregistre le code-barres dans un fichier EPS. Passez un nom de fichier
.eps.- Paramètres:
filename – Chemin de sortie EPS.
bar_width – Largeur en points PostScript de la barre la plus étroite.
dark_hex – Couleur des barres et du texte, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Noir par défaut.light_hex – Couleur de fond, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA, opaque. Blanc par défaut.
- save_svg(filename: str | os.PathLike[str], bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) None¶
Enregistre le code-barres dans un fichier SVG. Passez un nom de fichier
.svg.- Paramètres:
filename – Chemin de sortie SVG.
bar_width – Largeur en unités utilisateur de la barre la plus étroite.
dark_hex – Couleur des barres et du texte, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Noir par défaut.light_hex – Couleur de fond, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Blanc par défaut.
- svg_dataurl(bar_width: int = 3, *, dark_hex: str | RGBA | None = None, light_hex: str | RGBA | None = None) str¶
Génère le code-barres et renvoie une chaîne d’URL
data:SVG.- Paramètres:
bar_width – Largeur en unités utilisateur de la barre la plus étroite.
dark_hex – Couleur des barres et du texte, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Noir par défaut.light_hex – Couleur de fond, sous forme de chaîne hexadécimale de 3, 6 ou 8 chiffres ou d’un
RGBA. Blanc par défaut.
- Type renvoyé:
- class ITFRenderOptions¶
Bases :
BarcodeRenderOptionsRéglages de rendu facultatifs pour les codes-barres 2 parmi 5 entrelacé / ITF-14.
Étend
pystrich.types.BarcodeRenderOptions. Toutes les clés sont facultatives ; les clés omises se rabattent sur les valeurs par défaut de la bibliothèque.