我正在尝试检索打印机可用的所有托盘,但我找不到检索可用托盘列表的方法。
这就是我获取打印机的方式:
>>> import cups
>>> conn = cups.Connection ()
>>> printers = conn.getPrinters ()
>>> for printer in printers:
... print printer, printers[printer]["device-uri"]
Brother_MFC_1910W_series
Photosmart_6520_series
它工作正常,但printers
中没有关于托盘的信息。非常感谢任何帮助或参考。
为了记录,我正在使用OS X.
答案 0 :(得分:0)
经过几次尝试之后,我为了获得托盘而做了些什么。
对于我找到的每台打印机,我会查看/etc/cups/ppd/
printer_name.ppd
文件,在其中我可以找到我需要托盘的所有详细信息。
它也很有用,因为我可以使用PPDs文件中支持的每种语言获取托盘。
答案 1 :(得分:0)
关注已接受的答案:
由于PPD文件需要超级用户权限才能读取,因此使用PyCUPS访问它们的简单方法如下:
>>> import cups
>>> conn = cups.Connection()
>>> ppd = conn.getPPD('Brother_MFC_1910W_series') # Your desired printer's name
>>> print(ppd) # returns a filename of a temporary file with the PPD
'/tmp/576b35f2620f5'
>>> ppd_file = open(ppd)
>>> print(ppd_file.read())