- Créer un fichier de démonstration demo.zpl (cfr le projet PythonPcl de MCHobby)
- Comment configurer une "Printer Queue" en RAW.
- Utilise l'utilitaire "lp" pour envoyer le contenu du fichier zpl vers la Zebra.
Maintenant, ce qui serait bien, c'est de pouvoir déclencher cette tâche d'impression à partir de Python :-)
Rappelons que le but est de contrôler l'impression des étiquettes à coller à l'aide du langage de contrôle d'impression ZPL (Zebra Print Language)
Python et Cups
Normalement, vous trouverez CUPS installer sur la plupart des distributions Linux.
Si cela n'était pas le cas, vous pouvez encoder la commande suivante:
sudo apt-get install python-cups python-pip python-dev
L'installation de python-pip n'est vraiment pas indispensable mais c'est un utilitaire très utile.
Lister les imprimantes Cups
Le petit script suivant permet de lister les imprimantes CUPS disponible sur le système.
import cups conn = cups.Connection() printers = conn.getPrinters() for printer in printers: print printer, printers[printer]["device-uri"]
ce qui produit le résultat suivant:
GG-P3010 socket://192.168.1.225:9116 zebra-raw usb://Zebra%20Technologies/ZTC%20LP%202824%20Plus?serial=36J141701319 HP-P3010 hp:/net/HP_LaserJet_P3010_Series?zc=NPI188F5A
Comme vous pouvez le noter, nous retrouvons la file d'impression (printer queue) zebra-raw que nous avons créé dans l'article précédent.
Imprimer le fichier demo.zpl
Cette fois, utilisons le cups sous Python pour envoyer le fichier zpl sur la Zebra.
import cups conn = cups.Connection() conn.printFile( "zebra-raw", '/home/dom/PythonPcl/test/test-printer/zebra/demo.zpl', 'zebra demo', {} )
et voila! Pour information, la fonction printFile retourne un entier identifiant la job d'impression.
Aucun commentaire:
Enregistrer un commentaire