Python通过调用win32print模块,可以实现对已安装的打印机进行一系列管理。首先,你需要安装好Python 2.4 - 3.x和PyWin32包。
然后就可以查看当前电脑上安装了哪些打印机:
import win32print
printers = win32print.EnumPrinters(5)
print printers
这样通过EnumPrinters方法就可以获取,数字大小可以调整,以获取更多或更少的信息。(有关详细信息,请参阅文档 ,当然,去MSDN看看,会有更全面的信息)。上述代码会得到类似下面的输出内容:
((8388608, 'PDFCreator,PDFCreator,', 'PDFCreator', 'eDoc Printer'),
(8388608, 'Samsung ML-2250 Series PCL 6,Samsung ML-2250 Series PCL 6,', 'Samsung ML-2250 Series PCL 6', ''),
(8388608, 'Microsoft XPS Document Writer,Microsoft XPS Document Writer,', 'Microsoft XPS Document Writer', ''))
如您所见,EnumPrinters调用返回一个嵌套元组。每个元素包含了一台打印机信息,其中有两台虚拟打印机(PDF、XPS),如果是网络打印机,最后一个参数将是UNC路径。有时,我们禁用某台打印机,换用另一台,这就需要一种方法来更改用户的打印机设置ÿ