Produktetiketten aus XML drucken

sia

gesperrt
Registriert
26 März 2015
Beiträge
5.926
Ort
FFM (NSFW)
Hi Leute,

Ich stehe vor einem konzeptuellen Problem: Ich möchte gerne Produktetiketten mit Barcode und farbigem Produktfeld automatisch drucken lassen, wenn eine XML mit der entsprechenden Anzahl aus dem Warenwirtschaftsprogramm (comarch ERP) kommt.

Die XML-Daten rauszufiltern sollte ja mit keiner Programmiersprache ein Problem sein, aber wie drucke ich die Etiketten automatisch? Es sind eigentlich immer die gleichen Etiketten und es kommen ab und an welche dazu. Ich würde dann eventuell ein Verzeichnis mit hochauflösenden PNGs der Etiketten mit InDesign anlegen und die dann jeweils ausdrucken.

Welcher Etikettendrucker lässt sich denn gut mit einer einfachen Script/Programmiersprache ansprechen?
 
Dein Programm/ Script könnte zum Beispiel watch auf einen bestimmten Ordner machen, in die die xml's gespeichert werden und bei jeder neuen Datei den Druck initiieren. In den meisten Programmiersprachen gibt es dazu native Hausmittel oder Bibliotheken, die du verwenden kannst.
Prinzipiell ist das aber auch schnell selbst geschrieben:

[src=text]lastLookup <- 1.1.1970

scan = {
// backup last lookup
prevLookup <- lastLookup
// overwrite lastLookup
lastLookup <- now()

// check each file
foreach(datei in verzeichnis){
if(creationDate(datei) < prevLookup){
print(datei)
}
}

}

repeat(scan, alleXSekunden)[/src]


Das sollte sich eigentlich in jeder Programmiersprache problemlos umsetzen lassen.
Mit Hausmitteln sollte das allerdings performanter und vor allem eleganter funktionieren.
 
  • Thread Starter Thread Starter
  • #3
Der Druck funktioniert mit Linux über Cups, aber das ist unter Windows und am Liebsten hätte ich eine einfache Python-Funktion, die mir die PNG rausdruckt. Daran scheitert es derzeit...

Ansonsten hätte ich noch Delphi/Pascal, holpriges Perl und C++ im Angebot, aber ich wollte mir jetzt keinen abbrechen, sondern das innerhalb von ner Woche so programmieren, dass mehrere Tausend Etiketten zuverlässig rauskommen.
 
Das ist unter Windows, sofern sich der Etikettendrucker als normaler Windows-Drucker ausgibt, mit Python und win32print möglich. Ein (allerdings ungetestetes) Beispiel um per PIL ein Bild zu laden und auszudrucken:
Alternativ könntest du natürlich auch PCL oder PostScript ausgeben, sofern dein Drucker dies unterstützt.
 
  • Thread Starter Thread Starter
  • #5
Wie gebe ich denn Postscript aus?

Habe ein Bild vom Typ Image in der Pillow-Library, aber checke nicht wirklich, wie ich das an den Drucker schicke. Gibt ja die PSDraw-Klasse, aber die erstellt nur eine PS-Datei. Muss ich diese dann mit lpr unter Linux und win32print unter Windows ausgeben? Stehe da etwas auf dem Schlauch gerade.

Kann ich das auch in mm/cm statt in inches angeben? 90x25mm wären 3,5433x0,98425"... ziemlich ungerade :D
 
Zurück
Oben