请问用python怎么能够监控打印机的实时运行状态,如:正在打印,脱机等,来个解答下吧,困扰很久了
可以利用win32print等工具包,如果有用情采纳
import win32print
# 获取所有可用的打印机列表
printers = win32print.EnumPrinters(win32print.PRINTER_ENUM_LOCAL)
for printer in printers:
# 获取打印机名称
name = printer[2]
# 获取打印机状态
status = win32print.GetPrinter(name, 2)['Status']
if status == win32print.PRINTER_STATUS_ERROR:
print(f'{name} is offline')
elif status == win32print.PRINTER_STATUS_PENDING_DELETION:
print(f'{name} is being deleted')
elif status == win32print.PRINTER_STATUS_PAPER_JAM:
print(f'{name} has a paper jam')
elif status == win32print.PRINTER_STATUS_PAPER_OUT:
print(f'{name} is out of paper')
elif status == win32print.PRINTER_STATUS_MANUAL_FEED:
print(f'{name} is waiting for manual feed')
elif status == win32print.PRINTER_STATUS_PAPER_PROBLEM:
print(f'{name} has a paper problem')
elif status == win32print.PRINTER_STATUS_OFFLINE:
print(f'{name} is offline')
elif status == win32print.PRINTER_STATUS_IO_ACTIVE:
print(f'{name} is printing')
elif status == win32print.PRINTER_STATUS_BUSY:
print(f'{name} is busy')
else:
print(f'{name} is unknown')