使用python和pywin32模块实现连接打印机批量打印文件

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]
  • 2
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值