2024-05-15 06:02:18 发布
网友
有人有DLP语言的经验吗
我试图使用python发送一些文本和条形码,现在我需要发送一个bmp图像到
文档对我来说真的很难阅读,所以我希望其他人以前用过,可以帮助我
这是文件 https://www.honeywellaidc.com/en/-/media/en/files-public/technical-publications/printers/1common/dpl_88-2360-01_b.pdf
这是绝对可能的。下面是我目前如何在安装在Windows上的Datamax O'Neil打印机上执行此操作。下面的DPL命令可以使用win32print wrapper for python发送到打印机,也可以使用socket library直接发送到打印机的IP:
DPL代码:
dpl_code = b'''<STX>LH15D11FA+ 191100200140035THIS IS SOME TEXT 1W1j00050010000THIS IS A CODE128 BARCODE 121100000850010 1Y1100501600315THIS_IS_AN_IMAGE_FILE_ALREADY_STORED_ON_THE_PRINTER 191100202650010THIS IS SOME MORE TEXT E'''
这个<;STX>;必须替换为特殊字符(默认值为0x02,不呈现为文本)。每一行代表一个文本字符串,或一个图形组件,如预先存储在打印机内存中的条形码或图像。有关语言语法的更多详细信息,请参阅DPL command reference
对于Windows上作为默认打印机安装的打印机:
import win32print printer_name = win32print.GetDefaultPrinter() printer = win32print.OpenPrinter(printer_name) win32print.StartDocPrinter(printer, 1, ("raw_data", None, "RAW")) win32print.WritePrinter(printer, dpl_code) win32print.EndDocPrinter(printer) win32print.ClosePrinter(printer)
对于可通过网络访问的打印机:
import socket with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as connection: connection.settimeout(timeout) connection.connect((ip_address, port)) connection.send(dpl_code) response = connection.recv(1024)
这种方法对我来说有些成功,但我发现使用Zebra打印机(ZPL)要容易得多。至于发送图像和打印它们,不幸的是,我还没有成功。我需要首先使用NetiraCT software将图像预先存储在打印机内存中(作为BMP文件),并用DPL代码引用它
这是绝对可能的。下面是我目前如何在安装在Windows上的Datamax O'Neil打印机上执行此操作。下面的DPL命令可以使用win32print wrapper for python发送到打印机,也可以使用socket library直接发送到打印机的IP:
DPL代码:
这个<;STX>;必须替换为特殊字符(默认值为0x02,不呈现为文本)。每一行代表一个文本字符串,或一个图形组件,如预先存储在打印机内存中的条形码或图像。有关语言语法的更多详细信息,请参阅DPL command reference
对于Windows上作为默认打印机安装的打印机:
对于可通过网络访问的打印机:
这种方法对我来说有些成功,但我发现使用Zebra打印机(ZPL)要容易得多。至于发送图像和打印它们,不幸的是,我还没有成功。我需要首先使用NetiraCT software将图像预先存储在打印机内存中(作为BMP文件),并用DPL代码引用它
相关问题 更多 >
编程相关推荐