几周前我遇到了同样的问题。我专门为这台打印机制作了一个 python 脚本,其中有一些可用的字段。我评论了 (#) 什么不涉及您的需求,但留下了它,因为您可能会觉得它有帮助。
我还建议您将打印机设置为 EPL2 驱动程序和 5cm/s 的打印速度。使用此脚本,您将获得带有 EAN13 格式条形码的 PNG 预览。 (如果您需要其他格式,您可能需要点击 ZPL 模块文档。)
请记住,如果您使用 ZLP 2844 打印,您将需要使用他们的付费软件,或者您需要手动配置整个打印机。
import os
import zpl
#import pandas
#df= pandas.read_excel("Datos.xlsx")
#a=pandas.Series(df.GTIN.values,index=df.FINAL).to_dict()
for elem in a:
l = zpl.Label(15,25.5)
height = 0
l.origin(3,1)
l.write_text("CUIT: 30-11111111-7", char_height=2, char_width=2, line_width=40)
l.endorigin()
l.origin(2,5)
l.write_text("Art:", char_height=2, char_width=2, line_width=40)
l.endorigin()
l.origin(5.5,4)
l.write_text(elem, char_height=3, char_width=2.5, line_width=40)
l.endorigin()
l.origin(2, 7)
l.write_barcode(height=40, barcode_type='2', check_digit='N')
l.write_text(a[elem])
l.endorigin()
height += 8
l.origin(8.5, 13)
l.write_text('WILL S.A.', char_height=2, char_width=2, line_width=40)
l.endorigin()
print(l.dumpZPL())
lista.append(l.dumpZPL())
l.preview()
为了打印预览而不必观看和确认每个预览,我最终修改了 ZPL 预览方法,返回一个 IO 变量,以便我可以将其保存到文件中。
fake_file = io.BytesIO(l.preview())
img = Image.open(fake_file)
img = img.save('tags/'+'name'+'.png')
关于 ZPL 模块的 Label.py(预览方法):
#Image.open(io.BytesIO(res)).show(). <---- comment out the show, but add the return of the BytesIO
return res