web-dev-qa-db-fra.com

Comment imprimer un logo sur des étiquettes à l'aide d'une imprimante Zebra et lui envoyer des instructions ZPL

Je souhaite envoyer les instructions ZPL à une imprimante Zebra (GK420t pour le moment) . J'imprime des étiquettes de 50 mm x 20 mm ..__ Je souhaite qu'un logo (petite image de ~ 5 mm x 5 mm) soit imprimé sur la partie supérieure. coin gauche de l'étiquette.

Je voudrais savoir les étapes que je devrais suivre pour faire cela.

Je lisais et essayais quelques choses du manuel de ZPL mais je ne comprenais pas vraiment comment cela fonctionnait et je ne pouvais pas trouver un exemple de travail.

Il me semble que je dois d'abord "charger" l'image dans l'imprimante (dans une "zone de stockage"/DRAM?), Puis l'imprimer.

L'extension de fichier .GRF est mentionnée à de nombreuses reprises dans le manuel . Je ne trouvais pas l'outil permettant de convertir une image .PNG ou .BMP en fichier .GRF . J'ai lu qu'un fichier .GRF est un ASCII Représentation HEX d'une image graphique ... mais cela ne m'a pas aidé à faire le travail.

Je pouvais imprimer le logo sur les étiquettes en utilisant les "Utilitaires de configuration Zebra", en "Téléchargement de polices et de graphiques", en choisissant n'importe quel fichier .MMF disponible, en ajoutant une image .BMP, en la téléchargeant [sur l'imprimante] et en imprimant une page de test. Mais jusqu'à présent, je ne pouvais pas le faire en utilisant les instructions ZPL.

Je me demande également quelles sont les meilleures dimensions à utiliser compte tenu du fait que j'ai besoin d'une petite image d'environ 5 mm x 5 mm sur les étiquettes . L'image que j'ai imprimée est une image de 40px x 40px . , si je dois créer un fichier .GRF à partir d’une image originale, quel devrait être le type de ce fichier (.BMP, .PNG, .JPG)?

Pouvez-vous me conseiller comment procéder?

7
Léa Massiot

On dirait que vous avez du code ZPL existant, et tout ce que vous voulez faire est d’ajouter une image.

Si tel est le cas, la solution la plus simple consiste probablement à accéder à la visionneuse ZPL en ligne Labelary , collez votre ZPL dans la visionneuse, cliquez sur "Ajouter une image", puis téléchargez l’image que vous souhaitez ajouter à la ZPL.

Cela devrait modifier votre ZPL en ajoutant les commandes d’image ZPL dont vous avez besoin. Vous pouvez ensuite modifier la position, etc.

16
Abel

Voici une autre option: J'ai créé ma propre image au convertisseur .GRF en python. Sentez-vous libre de l'utiliser.

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 __== '__main__':
    image2grf(r"test.bmp")
3
Kade

Installez simplement ZebraDesigner , créez une étiquette vierge, insérez un objet image dans le modèle et ajoutez l’image de logo requise.

Imprimer pour archiver cette étiquette (un fichier * .prn) et ouvrir le fichier récemment créé avec Notepad ++ (MS Notepad gâchera les données s'il est ouvert et enregistré avec). Trouvez une énorme chaîne de caractères apparemment aléatoires et retrouvez les données de votre image. Veillez à ne perdre aucun de ces caractères, y compris ceux de contrôle, car toute la chaîne est une représentation textuelle de votre image (comme ce serait le cas s'il s'agissait de base64).

Astuce0: Ayez toujours votre Guide du programmeur ZPLII à portée de main. Vous devrez/voudrez vérifier si ZebraDesigner a envoyé l'image en mémoire ou directement dans la mémoire tampon de l'imprimante.

Conseil 1: Avant d'ajouter le logo à l'étiquette et d'obtenir le texte, préparez l'image en la faisant passer en échelle de gris (n'oubliez pas de vérifier la configuration de tramage de l'imprimante!) Ou, dans mon cas, en noir et blanc (meilleur résultat, à mon humble avis). L’image peut être colorée, le ZebraDesigner l’aidera à convertir l’image en niveaux de gris avant la conversion en commandes et en texte.

2
CaioAlbuquerque

allez à Objet ==> Image et votre curseur se changera en quelque chose d'autre .. quand il changera, cliquez sur la zone de travail et une boîte de dialogue apparaitra ... ainsi de suite sélectionnez l'image de sorte que vous puissiez voir l'image que vous voulez veux imprimer sur l'imprimante que j'utilise GT800 donc pour moi, j'aime bien que j'espère que cela vous aidera

0
Roshan Zakky

J'ai créé un script PHP pour convertir les images PNG en .GRF, semblable à l'image2grf.py: de https://Gist.github.com/thomascube/9651d6fa9164a9c52cb0d4262f2c3f

Il utilise la fonction d’image Gd de PHP et peut donc fonctionner avec tous les formats de fichier que Gd peut ouvrir. Avec de petites modifications, l'extension Imagick pourrait être utilisée, mais les performances semblent meilleures avec Gd.

0
brotherli

Essayez le projet sharpzebra de codeproject. Le programme de test faisant partie du projet imprime un graphique et je sais que cela fonctionne au moins sur un ZM400.

0
Jonathan Conley