使用python实现连接打印机批量打印文件
python打印文件
python连接打印机
使用模块:win32print
官方文档: 模块win32print.
pip install pywin32
import win32print
import win32api
查看当前电脑上安装了哪些打印机:
#查看当前电脑上安装了哪些打印机:
import win32print
printers = win32print.EnumPrinters(3)
print(printers)
获取默认打印机:
#查看当前电脑上安装了哪些打印机:
import win32print
printer = win32print.GetDefaultPrinter()
print(printer)
python打印文档文件
对于微软office的文档、pdf、txt等有用,前提是要有打开这些文件的软件,不然会报错:
// An highlighted block
def printer_file(filename):
win32api.ShellExecute (
0,
"print",
filename,
'/d:"%s"' % win32print.GetDefaultPrinter (),
".",
0
)
print(filename+'----打印成功')
printer_loading(r'E:\img\1.jpg')
python打印图片文件
电脑上有图片查看器,不然会报错
def printer_pic(pic_path, printer_name):
# 物理宽度、高度
PHYSICALWIDTH = 110
PHYSICALHEIGHT = 111
# 物理偏移位置
PHYSICALOFFSETX = 112
PHYSICALOFFSETY = 113
printer_name = win32print.GetDefaultPrinter()
hDC = win32ui.CreateDC()
hDC.CreatePrinterDC(printer_name)
printer_size = hDC.GetDeviceCaps(PHYSICALWIDTH), hDC.GetDeviceCaps(PHYSICALHEIGHT)
# printer_margins = hDC.GetDeviceCaps (PHYSICALOFFSETX), hDC.GetDeviceCaps (PHYSICALOFFSETY)
# 打开图片
# #通过每个像素使它尽可能大
# #页面不失真。
bmp = Image.open(file_name)
ratios = [1.0 * 1754 / bmp.size[0], 1.0 * 1240 / bmp.size[1