2015-03-25 28 views
6

Ich möchte ZPL-Anweisungen an einen Zebra-Drucker senden (GK420t für den Moment). Ich drucke 50mm x 20mm Etiketten. Ich möchte ein Logo (kleines ~ 5mm x 5mm Bild) in der oberen linken Ecke des Etiketts gedruckt werden.So drucken Sie ein Logo auf Etiketten mit einem Zebra-Drucker und senden ZPL-Anweisungen dazu

Ich würde gerne die Schritte kennen, denen ich folgen sollte, um dies zu tun.

Ich habe ein paar Dinge aus dem ZPL-Handbuch gelesen und versucht, aber ich verstehe nicht wirklich, wie es funktioniert und konnte kein funktionierendes Beispiel finden.

Es sieht so aus, als müsste ich das Bild zuerst in den Drucker "laden" (in einem sogenannten "Speicherbereich"/DRAM?) Und dann ausdrucken.

Die Dateierweiterung .GRF wird im Handbuch mehrfach erwähnt. Ich konnte das Tool nicht finden, um ein .PNG- oder .BMP-Bild in eine .GRF-Datei zu konvertieren. Ich habe gelesen, dass eine .GRF-Datei eine ASCII-HEX-Darstellung eines Grafikbildes ist ... aber es hat mir nicht geholfen, die Arbeit zu erledigen.

Ich könnte das Logo auf den Etiketten mit den "Zebra Setup Utilities", "Herunterladen von Schriftarten und Grafiken", Auswahl einer verfügbaren .MMF-Datei, Hinzufügen eines BMP-Bildes, Herunterladen [auf den Drucker] und Drucken drucken eine Testseite. Aber bis jetzt konnte ich es nicht mit ZPL Anweisungen tun.

Ich frage mich auch, was die besten Dimensionen sind, die ich verwenden sollte angesichts der Tatsache, dass ich ein kleines Bild ~ 5mm x 5mm brauche, um auf den Etiketten gedruckt zu werden. Das Bild, das ich druckte, ist ein 40px x 40px Bild. Wenn ich eine .GRF-Datei aus einem Originalbild erstellen muss, was sollte der Typ dieser Datei sein (.BMP, .PNG, .JPG)?

Können Sie mir raten, wie es weitergeht?

+0

Ich denke, dass was ich brauche, ist ein Dienstprogramm, das das Original nehmen wird Bild und erstellen Sie die Byte-Darstellung von ihm (. GRF-Datei?). Ich kann dieses Werkzeug nicht finden. –

Antwort

0

Probieren Sie das codeproject-Projekt shartzebra aus. Das Testprogramm, das Teil des Projekts ist, druckt eine Grafik und ich weiß, das funktioniert zumindest auf einem ZM400

11

Es klingt wie Sie bereits vorhandenen ZPL-Code haben, und alles, was Sie tun möchten, ist ein Bild hinzufügen.

Wenn das der Fall ist, ist wahrscheinlich die einfachste Lösung, gehen Sie auf die Labelary online ZPL viewer, fügen Sie Ihre ZPL in den Viewer, klicken Sie auf "Bild hinzufügen", und laden Sie das Bild, das Sie der ZPL hinzufügen möchten.

Diese ZPL-Befehle ZPL durch Hinzufügen des Bildes ändern sollte, dass Sie brauchen, und Sie können dann die Position zwicken etc.

+1

Dies ist die beste Antwort –

2

Installieren Sie einfach Zebradesigner, ein leeres Etikett ein Bildobjekt zu der erstellen, fügen Vorlage und fügen Sie das erforderliche Logo Bild hinzu.

Drucken Sie diese Datei (eine * .prn Datei) Datei und öffnen Sie die kürzlich erstellte Datei mit Notepad ++ (MS Editor wird die Daten ruinieren, wenn geöffnet und gespeichert mit). Finde eine riesige Menge scheinbar zufälliger Zeichen, und da sind die Daten deines Bildes. Achten Sie darauf, keine dieser Zeichen zu verlieren, einschließlich der Kontrollzeichen, da die gesamte Zeichenfolge eine Textdarstellung Ihres Bildes ist (wie es wäre, wenn es base64 wäre).

Tip0: Haben Sie Ihr ZPLII-Programmierhandbuch immer zur Hand, müssen Sie überprüfen, ob ZebraDesigner das Bild in den Speicher oder direkt in den Druckerpuffer gesendet hat.

Tip1: (! Erinnern die Drucker Dithering Konfiguration zu überprüfen) Bevor Sie das Logo auf dem Etikett hinzufügen und den Text erhalten, bereiten Sie das Bild so dass es Graustufen oder in meinem Fall, schlicht schwarz und weiß (bestes Ergebnis IMHO). Das Bild kann farbig sein, der ZebraDesigner wird es für den Drucker funktionieren lassen, das Bild vor der Konvertierung in Befehle und Text in Graustufen umwandeln.

1

Hier ist eine weitere Option: Ich habe mein eigenes Bild zu .GRF-Konverter in Python erstellt. Fühlen Sie sich frei, es zu benutzen.

https://github.com/JoshMayberry/Utilities/blob/master/image2grf.py

from PIL import Image 
import re 
import numpy as np 

def image2grf(filePath, length = None, width = None): 
    #Open the image 
    image = Image.open(filePath) 

    image = image.convert("1") #Ensure that it is black and white image 

    #Resize image to desired size 
    if ((length != None) and (width != None)): 
     size = (length, width) 
     image.thumbnail(size, Image.ANTIALIAS) 

    #Convert image to binary array 
    bitmap = np.asarray(image, dtype = 'int') 
    bitmap = np.asarray(bitmap, dtype = 'str').tolist() 

    #Convert binary array to binary string 
    binaryString = "" 
    for row in bitmap: 
     #Join the row to the string 
     row = "".join(row) 

     #Make each pixel square (for some reason it is rectangular) 
     binaryString += row 
     binaryString += row 
     binaryString += row 
     binaryString += row 

    #Convert binary string to hex string 
    hexString = re.sub("0","F",binaryString) 
    hexString = re.sub("1","0",hexString) 

    #Calculate bytes per row and total bytes 
    bytesPerRow = len(bitmap[0])/2 
    totalBytes = bytesPerRow * len(bitmap) * 4 #0.5 for each line piece in a line 

    #Compose data 
    data = "~DGimage," + str(totalBytes) + "," + str(bytesPerRow) + "," + hexString 

    #Save image 
    fileHandle = open(r"labelPicture.grf", "w") 
    fileHandle.write(data) 
    fileHandle.close() 

if __name__ == '__main__': 
    image2grf(r"test.bmp") 
0

gehen ==> Abbildung und Ihr Cursor zum etwas ändert anderes Objekt .. wenn es auf dem Arbeitsbereich und ein Dialogfeld gehen und klicken geändert iwll ... apear so weiter dort wählen Sie das Bild aus, damit Sie das Bild sehen können, das Sie auf dem Drucker drucken möchten, verwende ich GT800, also für mich ich mochte diese Hoffnung, die Ihnen hilft