Python使用扩展库pywin32实现批量文档打印实例

作者:dongfuguo 时间:2023-11-05 09:55:13 

本文代码需要正确安装Python扩展库pywin32,建议下载whl文件进行离线安装。然后调用win32api的ShellExecute()函数来实现文档打印,系统会根据文档类型自动选择不同的软件进行打开并自动打印,如果要打印的是图片的话,需要手工确认一下。

关于ShellExecute()函数的参数含义请查阅Windows API或pywin32帮助文档。


import win32print
import win32api

for fn in ['1.txt', '2.txt', '3.txt', '4.docx']:
win32api.ShellExecute(0,\
  'print',\

fn,\
  win32print.GetDefaultPrinterW(),\
  ".",
 0)

补充知识:Python-EXECL批量打印

python版本为2.7

要用到的Python库:pywin32(pip install pywin32)


#coding=UTF-8
#-*-conding : gb2312 -*-

import os
import win32com.client
import win32api
import time

dir_name = r'C:\Users\Administrator\Desktop\sqqk' #文件路径
file_name=os.listdir(dir_name)  #路径下文件名称
file_dir =[os.path.join(dir_name,x) for x in file_name] #得到文件路径

b=len(file_dir)
i = 0
while i <= len(file_dir):
xlApp = win32com.client.Dispatch('Excel.Application') #打开 EXCEL ,这里不需改动
xlApp.Visible = 0   #不在后台运行
xlApp.EnableEvents = False
xlApp.DisplayAlerts = False  #显示弹窗
xlBook = xlApp.Workbooks.Open(file_dir[i])  
xlApp.ActiveWorkbook.Sheets(1).PageSetup.Zoom = False
xlApp.ActiveWorkbook.Sheets(1).PageSetup.FitToPagesWide = 1
xlApp.ActiveWorkbook.Sheets(1).PageSetup.FitToPagesTall = 1
#xlBook.Save()   #保存
ename = xlApp.ActiveWorkbook.name  #获取打开工作表名称

xlBook.PrintOut(1,1,)   #打印页数1到1
xlApp.quit()   #退出
print ename,"%d%%" %(((i+1.0)/b)*100.0)  #打印出打开工作表名称和当前百分比进度
time.sleep(6)
i = i + 1

来源:https://blog.csdn.net/dongfuguo/article/details/77876645

标签:Python,pywin32,文档,打印
0
投稿

猜你喜欢

  • Windows10下mysql 8.0.19 winx64安装教程及修改初始密码

    2024-01-26 11:03:37
  • 设计的俗化特征

    2010-04-08 16:07:00
  • 利用python求积分的实例

    2023-07-08 15:44:23
  • ASP FSO生成静态htm页面简单代码

    2010-04-24 16:04:00
  • AERGO SHIP:用于开发智能合约的包管理器

    2024-02-04 00:36:13
  • Python数据清洗工具之Numpy的基本操作

    2023-08-31 02:39:10
  • python去除字符串中的空格、特殊字符和指定字符的三种方法

    2022-06-12 20:21:31
  • JS实现在线ps功能详解

    2024-05-13 09:19:02
  • js 禁用只读文本框获得焦点时的退格键

    2024-04-19 10:25:41
  • Python语音合成之第三方库gTTs/pyttsx3/speech横评(内附使用方法)

    2022-03-23 08:31:22
  • Python JSON编解码方式原理详解

    2023-10-24 10:33:33
  • MySQL order by与group by查询优化实现详解

    2024-01-24 23:27:48
  • 基于Django实现日志记录报错信息

    2021-06-22 06:24:23
  • 用户分类浅谈

    2009-09-27 12:14:00
  • JavaScript中的Math.atan2()方法使用详解

    2024-05-03 15:57:13
  • 基于Python爬取51cto博客页面信息过程解析

    2023-06-11 16:27:37
  • pandas groupby 分组取每组的前几行记录方法

    2021-06-19 05:52:20
  • Python中aiohttp的简单使用

    2022-05-29 05:43:33
  • 形成视觉冲击的几种方式

    2008-08-03 15:57:00
  • Docker 下MySQL数据库的备份和恢复的操作方法

    2024-01-18 03:02:44
  • asp之家 网络编程 m.aspxhome.com