From 34eb0e78829679710e1fcb17efa5432ed82b6958 Mon Sep 17 00:00:00 2001 From: Axel Date: Mon, 6 Nov 2023 14:54:59 +0100 Subject: [PATCH] Upload initiale --- custom.html | 56 ++++++++++++++++++++++++++++++ etiquettes-code-serial.py | 48 ++++++++++++++++++++++++++ etiquettes-custom-serial.py | 53 ++++++++++++++++++++++++++++ etiquettes-serial.py | 67 ++++++++++++++++++++++++++++++++++++ favicon.png | Bin 0 -> 9285 bytes 5 files changed, 224 insertions(+) create mode 100644 custom.html create mode 100644 etiquettes-code-serial.py create mode 100644 etiquettes-custom-serial.py create mode 100644 etiquettes-serial.py create mode 100644 favicon.png diff --git a/custom.html b/custom.html new file mode 100644 index 0000000..23fa624 --- /dev/null +++ b/custom.html @@ -0,0 +1,56 @@ + + + + + + + + Etiquettes + + + + + + + + + + +
+
+

Impression étiquettes
personalisées

+
+ +
+ + +
+ +
+ +
+ + 0 / 15 +
+
+ +
+ +
+ +
+ + +
+
+ + + diff --git a/etiquettes-code-serial.py b/etiquettes-code-serial.py new file mode 100644 index 0000000..365a6dd --- /dev/null +++ b/etiquettes-code-serial.py @@ -0,0 +1,48 @@ +import serial +import argparse + +# Définissez le port série et la vitesse de communication (baud rate) +port = "/dev/ttyS4" +baud_rate = 38400 + +# Créez un objet de port série +ser = serial.Serial(port, baud_rate, timeout=1) + + + + + +parser = argparse.ArgumentParser(description="Un script d'impression d'etiquettes sur Zebra") + +# Définition des arguments +parser.add_argument("--qtt", type=int, required=True, help="Nombre d'etiquettes") +parser.add_argument("--code", required=True, help="Code ZPL") + +# Analyse des arguments de la ligne de commande +args = parser.parse_args() + +# Conversion des informations +number = int(args.qtt) +code = str(args.code) + + + + + +for num in range(0, number): + + #print (label) + + # Chaîne de caractères à envoyer + message = code + + # Encodez la chaîne en bytes, car les données sur le port série sont transmises sous forme de bytes + message_bytes = message.encode('utf-8') + + # Écrivez les données sur le port série + ser.write(message_bytes) + + + +# Fermez le port série lorsque vous avez terminé +ser.close() \ No newline at end of file diff --git a/etiquettes-custom-serial.py b/etiquettes-custom-serial.py new file mode 100644 index 0000000..53137af --- /dev/null +++ b/etiquettes-custom-serial.py @@ -0,0 +1,53 @@ +import serial +import argparse + +# Définissez le port série et la vitesse de communication (baud rate) +port = "/dev/ttyS4" +baud_rate = 38400 + +# Créez un objet de port série +ser = serial.Serial(port, baud_rate, timeout=1) + + + + + +parser = argparse.ArgumentParser(description="Un script d'impression d'etiquettes sur Zebra") + +# Définition des arguments +parser.add_argument("--qtt", type=int, required=True, help="Nombre d'etiquettes") +parser.add_argument("--texte", required=True, help="Texte de l'étiquette") + +# Analyse des arguments de la ligne de commande +args = parser.parse_args() + +# Conversion des informations +number = int(args.qtt) +texte = str(args.texte) + + + + + +for num in range(0, number): + + label = texte + + print (label) + + # labelCode = '^XA^FO4,24^BY1^BCN,140,N^FD' + label + '^FS^FO0,190^A0,32,22^FD' + label + '^FS^XZ' + labelCode = '^XA^FO15,20^BY2^BCN,80,N^FD' + label + '^FS^FO25,130^A0,50,28^FD' + label + '^FS^FO270,105^XGE:logo100^XZ' + + # Chaîne de caractères à envoyer + message = labelCode + + # Encodez la chaîne en bytes, car les données sur le port série sont transmises sous forme de bytes + message_bytes = message.encode('utf-8') + + # Écrivez les données sur le port série + ser.write(message_bytes) + + + +# Fermez le port série lorsque vous avez terminé +ser.close() \ No newline at end of file diff --git a/etiquettes-serial.py b/etiquettes-serial.py new file mode 100644 index 0000000..04c60bc --- /dev/null +++ b/etiquettes-serial.py @@ -0,0 +1,67 @@ +import serial +import argparse + +# Définissez le port série et la vitesse de communication (baud rate) +port = "/dev/ttyS4" +baud_rate = 38400 + +# Créez un objet de port série +ser = serial.Serial(port, baud_rate, timeout=1) + + + + + +parser = argparse.ArgumentParser(description="Un script d'impression d'etiquettes sur Zebra") + +# Définition des arguments +parser.add_argument("--qtt", type=int, required=True, help="Nombre d'etiquettes") +parser.add_argument("--salle", required=True, help="Le nom de la salle") +parser.add_argument("--snum", type=int, required=True, help="Numero du pc ou de depart") +parser.add_argument("--schar", required=False, default="" , help="Caractère supplementaire a ajouter") + +# Analyse des arguments de la ligne de commande +args = parser.parse_args() + +# Conversion des informations +numPC = int(args.snum) +number = int(args.qtt) +salle = str(args.salle) +extra = str(args.schar) + + + + + +for num in range(int(numPC), number + int(numPC)): + + building_map = {'T': 'AT', 'L': 'LO', 'V': 'VA', 'G': 'GEO'} + building_code = salle[0] + building = building_map.get(building_code, 'N/A') + + # Vérifie si salle géometre car systeme de notation différent + if building == 'GEO': + etage = '2' + else: + etage = salle[1] + + label = building + '-' + etage + '-' + salle + '-' + str(num).zfill(2) + extra + + print (label) + + # labelCode = '^XA^FO4,24^BY1^BCN,140,N^FD' + label + '^FS^FO0,190^A0,32,22^FD' + label + '^FS^XZ' + labelCode = '^XA^FO15,20^BY2^BCN,80,N^FD' + label + '^FS^FO25,130^A0,50,28^FD' + label + '^FS^FO270,105^XGE:logo100^XZ' + + # Chaîne de caractères à envoyer + message = labelCode + + # Encodez la chaîne en bytes, car les données sur le port série sont transmises sous forme de bytes + message_bytes = message.encode('utf-8') + + # Écrivez les données sur le port série + ser.write(message_bytes) + + + +# Fermez le port série lorsque vous avez terminé +ser.close() \ No newline at end of file diff --git a/favicon.png b/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..e0edd2a1926c82dbeb0311824787558279f2c9ef GIT binary patch literal 9285 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