通过Python打开打印机

时间:2012-10-31 09:45:59

标签: python epson network-printers drawer twistd

我有Epson TM-U220B网络打印机和现金抽屉。我正在开发Python Web应用程序,我设法在我的应用程序上配置打印机。我的打印机工作正常,我只想打开直到我打印机票。我在互联网上找到了一些打开抽屉的代码。

以下是代码:

def print_(printer_name, file_path):
    preorder = chr(27)+chr(100)+chr(0)    
    cut_paper = chr(29)+chr(86)+chr(66)+chr(0)

    open_till = chr(27)+chr(112)+chr(10)

    the_file = open(file_path, "a")
    the_file.seek(0)
    the_file.write(preorder)
    the_file.seek(0,2)
    the_file.write(cut_paper)
    the_file.write(open_till)
    the_file.close()
    conn.printFile(printer_name, file_path, md5(file_path), {})

open_till是不起作用的代码,其他一切都没问题

谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用以下代码打开现金抽屉

import win32print

def OpenCashDrawer(printerName) :   
       printerHandler = win32print.OpenPrinter(printerName)
       cashDraweOpenCommand = chr(27)+chr(112)+chr(0)+chr(25)+chr(250)
       win32print.StartDocPrinter(printerHandler, 1, ('Cash Drawer Open',None,'RAW')) 
       win32print.WritePrinter( printerHandler, cashDraweOpenCommand)
       win32print.EndDocPrinter(printerHandler)
       win32print.ClosePrinter(printerHandler)

OpenCashDrawer("YourPrinterName")