Find a file
2024-08-24 19:54:00 +02:00
.gitignore Initial commit 2024-08-24 18:02:20 +02:00
LICENSE Initial commit 2024-08-24 18:02:20 +02:00
mklabel_dual.py Add existing scripts for generating part labels 2024-08-24 18:03:07 +02:00
mklabel_single.py Remove debug output 2024-08-24 19:29:12 +02:00
README.md Explain the label printing process in README.md 2024-08-24 19:54:00 +02:00
requirements.txt Add existing scripts for generating part labels 2024-08-24 18:03:07 +02:00

Elektronikecke-Labelgenerator

Dieses Repository enthält Skripte zum Erzeugen von Labels aus CSV-Exports von Part-DB.

Diese Labels werden zur Beschriftung der Elektronikbauteile im ZAM verwendet.

Die Skripte erzeugen ZPL-Code zur Verwendung mit dem Labeldrucker GK420t von Zebra. Es werden zwei Labels pro Zeile mit je 48x24 mm erzeugt.

Es gibt zwei Varianten, da es im ZAM Schubladen mit nur einem Bauteil und welche mit zwei Bauteilen gibt: mklabel_single.py erzeugt zwei Labels mit je einem Bauteil (also zwei Bauteile pro gedruckter Seite) und mklabel_dual erzeugt zwei Labels mit je zwei Bauteilen (also vier Bauteile pro Seite). Entsprechend viele Bauteile müssen in der CSV-Eingabe stehen, damit keine Plätze leer bleiben.

Vorbereitung

Um die Skripte verwenden zu können, müssen die Abhängigkeiten installiert werden. Am einfachsten geht das mit einer virtuellen Umgebung für Python:

$ python3 -m venv env
$ source env/bin/activate
$ pip install -r requirements.txt

Der folgende Befehl muss vor dem ersten Aufruf der Skripte in der aktiven Shell ausgeführt werden:

$ source env/bin/activate

CSV-Export aus Part-DB

Damit die Skripte funktionieren, müssen die Bauteile aus Part-DB wie folgt exportiert werden:

  1. Part-DB so navigieren/filtern, dass alle gewünschten Bauteile in einer Liste angezeigt werden.
  2. Bei den Bauteilen, für die Labels gedruckt werden sollen, das Auswahlhäkchen setzen.
  3. Über der Liste taucht dann neben „x Bauteile ausgewählt“ ein Auswahlfeld für die Aktion auf. Dort ist „Export als CSV“ zu wählen und rechts daneben „Vollständig“ als Datenformat.
  4. Mit „Ok“ bestätigen und die Datei abspeichern.
  5. Die Datei in einem Texteditor(!) öffnen und die Reihenfolge der Teile prüfen und ggf. korrigieren. Die Reihenfolge in der CSV-Datei bestimmt die Reihenfolge auf den Labels!

Erzeugen des ZPL-Codes

Zum Erzeugen des ZPL-Codes wird das gewünschte Skript mit der CSV-Datei als Parameter aufgerufen, z.B.

$ ./mklabel_single.py /tmp/export_Part_full.csv

Das Skript verarbeitet alle Bauteile aus der CSV-Datei und gibt eine Zeile ZPL-Code pro „Seite“ (eine Zeile an Labels) aus. Die Ausgabe des obigen Befehls mit vier Bauteilen kann beispielsweise so aussehen:

^XA^PW800^LL192^FO24,48^BQN,2,3,L,7^FDLA,http://partdb.im.zam.haus/scan/part/2^FS^FO24,160^A0N,32,32^FB360,1,0,L,0^FDID: 2^FS^FO144,56^A0N,32,32^FB240,4,0,L,0^FD74AC00PC^FS^FO424,48^BQN,2,3,L,7^FDLA,http://partdb.im.zam.haus/scan/part/236^FS^FO424,160^A0N,32,32^FB360,1,0,L,0^FDID: 236^FS^FO544,56^A0N,32,32^FB240,4,0,L,0^FD74ABT240DB,118^FS^XZ
^XA^PW800^LL192^FO24,48^BQN,2,3,L,7^FDLA,http://partdb.im.zam.haus/scan/part/262^FS^FO24,160^A0N,32,32^FB360,1,0,L,0^FDID: 262^FS^FO144,56^A0N,32,32^FB240,4,0,L,0^FD74AC02PC^FS^FO424,48^BQN,2,3,L,7^FDLA,http://partdb.im.zam.haus/scan/part/272^FS^FO424,160^A0N,32,32^FB360,1,0,L,0^FDID: 272^FS^FO544,56^A0N,32,32^FB240,4,0,L,0^FD74AC109PC^FS^XZ

Um das Layout zu überprüfen, kann eine Zeile ZPL-Code auf labelary.com in einem Online-Viewer gerendert werden.

Senden des Codes an den Drucker

Dieser Abschnitt beschreibt das Drucken mit Linux. Zum Drucken mit anderen Systemen gibt es bisher keine Erfahrung.

Zum Drucken muss einmalig der Drucker in CUPS eingerichtet werden. Dort ist als Treiber Zebra ZPL Label Printer zu wählen. Es gibt dazu von Zebra eine ausführliche Anleitung.

Ist der Treiber installiert, können Labels wie folgt gedruckt werden (Achtung: bitte vorher mit Einzelseiten testen):

$ ./mklabel_single.py /tmp/export_Part_full.csv | lpr -o raw -P Zebra_GK420t -