如何使用Electron打印txt文件或字符串,适配Zebra打印机?
Zebra打印机打印任务实现方案
核心需求
- 支持查询系统已连接的所有打印机列表
- 可手动指定目标打印机,适配单PC同时连接2台Zebra打印机的场景
- 优先实现txt格式文件的打印能力
- 当前无成熟的第三方库可直接复用实现上述功能
实现方案
Windows 平台
你可以直接调用Win32打印API实现,Python环境下可借助pywin32库完成开发:
- 查询打印机列表代码示例
import win32print def get_all_printers(): printer_list = [] for item in win32print.EnumPrinters(win32print.PRINTER_ENUM_LOCAL, None, 1): printer_list.append(item[2]) return printer_list
- 指定打印机打印txt文件代码示例
def print_txt(printer_name, txt_path): hprinter = win32print.OpenPrinter(printer_name) try: # 配置RAW打印任务,Zebra打印机可直接识别纯文本/ZPL指令 doc_info = ("Text Print Job", None, "RAW") win32print.StartDocPrinter(hprinter, 1, doc_info) win32print.StartPagePrinter(hprinter) # 读取文件内容发送到打印机 with open(txt_path, 'r', encoding='utf-8') as f: print_content = f.read() win32print.WritePrinter(hprinter, print_content.encode('gbk')) # 结束打印任务 win32print.EndPagePrinter(hprinter) win32print.EndDocPrinter(hprinter) finally: win32print.ClosePrinter(hprinter)
注意:如果需要调整打印格式,可直接在txt内容中插入ZPL指令,Zebra打印机会自动解析执行
Linux 平台
直接调用CUPS自带的命令行工具即可:
- 查询打印机列表执行命令:
lpstat -a - 指定打印机打印txt执行命令:
lpr -P 目标打印机名称 待打印txt文件路径
内容的提问来源于stack exchange,提问作者Hodl
相关产品推荐
相关产品推荐

