Python是一種強(qiáng)大的編程語言,可以用于控制打印機(jī)。在這篇文章中,我們將介紹如何使用Python來控制打印機(jī)。
# 導(dǎo)入必要的模塊 import win32api, win32print # 獲取打印機(jī)列表 printerList = win32print.EnumPrinters(2) # 輸出打印機(jī)列表 for printer in printerList: print(printer[2])
以上代碼會導(dǎo)入兩個模塊win32api和win32print,然后使用win32print.EnumPrinters(2)函數(shù)獲取打印機(jī)列表,最后打印出每個打印機(jī)的名字。
# 指定要打印的文件名 filename = "test.txt" # 打印文件 win32api.ShellExecute( 0, "print", filename, None, ".", 0 )
以上代碼會指定要打印的文件名,然后使用win32api.ShellExecute函數(shù)來打印該文件。
除了打印文本文件,我們還可以使用Python打印圖片。以下是示例代碼:
# 導(dǎo)入必要的模塊 import win32api, win32print from PIL import Image # 指定要打印的圖片 filename = "test.jpg" # 打開圖片 img = Image.open(filename) # 獲取打印機(jī)并指定打印參數(shù) printer = win32print.GetDefaultPrinter() hDC = win32api.CreateDC(None, printer, None) printAttributes = {"DesiredAccess": win32print.PRINTER_ACCESS_ADMINISTER} printerHandle = win32print.OpenPrinter(printer, printAttributes) devmode = win32print.GetPrinter(printerHandle, 2)["pDevMode"] papersize = devmode["PaperSize"] orientation = win32print.DMORIENT_PORTRAIT # 打印圖片 img.print_to_win32_printer(hDC, papersize, orientation) # 關(guān)閉打印機(jī) win32print.ClosePrinter(printerHandle)
以上代碼會導(dǎo)入三個模塊win32api、win32print和PIL。使用Image.open函數(shù)打開圖片,然后使用win32print.GetDefaultPrinter函數(shù)獲取默認(rèn)打印機(jī)名字,并使用win32api.CreateDC函數(shù)創(chuàng)建設(shè)備上下文句柄。最后調(diào)用img.print_to_win32_printer函數(shù)打印圖片。
通過以上代碼,您可以很容易地使用Python來控制打印機(jī)并打印各種類型的文件。