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


Posted in Python onApril 09, 2020

本文代码需要正确安装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

以上这篇Python使用扩展库pywin32实现批量文档打印实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python socket 超时设置 errno 10054
Jul 01 Python
Django学习笔记之Class-Based-View
Feb 15 Python
Python使用Matplotlib实现雨点图动画效果的方法
Dec 23 Python
python实现文件助手中查看微信撤回消息
Apr 29 Python
python中时间模块的基本使用教程
May 14 Python
Django ImageFiled上传照片并显示的方法
Jul 28 Python
Python K最近邻从原理到实现的方法
Aug 15 Python
numpy矩阵数值太多不能全部显示的解决
May 14 Python
Python命名空间及作用域原理实例解析
Aug 12 Python
彻底解决Python包下载慢问题
Nov 15 Python
python实现三种随机请求头方式
Jan 05 Python
python画图时设置分辨率和画布大小的实现(plt.figure())
Jan 08 Python
python3 自动打印出最新版本执行的mysql2redis实例
Apr 09 #Python
python实现处理mysql结果输出方式
Apr 09 #Python
python读取配置文件方式(ini、yaml、xml)
Apr 09 #Python
python数据分析工具之 matplotlib详解
Apr 09 #Python
使用python检查yaml配置文件是否符合要求
Apr 09 #Python
Python第三方包之DingDingBot钉钉机器人
Apr 09 #Python
python实现简单学生信息管理系统
Apr 09 #Python
You might like
PHP中substr()与explode()函数用法分析
2014/11/24 PHP
Zend Framework教程之分发器Zend_Controller_Dispatcher用法详解
2016/03/07 PHP
让JavaScript拥有类似Lambda表达式编程能力的方法
2010/09/12 Javascript
JS随机生成不重复数据的实例方法
2013/07/17 Javascript
Jquery仿淘宝京东多条件筛选可自行结合ajax加载示例
2013/08/28 Javascript
DOM基础教程之使用DOM + Css
2015/01/20 Javascript
javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
2015/08/04 Javascript
Javascript数组中push方法用法分析
2016/10/31 Javascript
详解javascript表单的Ajax提交插件的使用
2016/12/29 Javascript
JS图片延迟加载插件LazyImgv1.0用法分析【附demo源码下载】
2017/09/04 Javascript
vue使用keep-alive实现数据缓存不刷新
2017/10/21 Javascript
js屏蔽退格键(backspace或者叫后退键与F5)
2019/02/10 Javascript
微信小程序实现多选框全选与取消全选功能示例
2019/05/14 Javascript
Node4-5静态资源服务器实战以及优化压缩文件实例内容
2019/08/29 Javascript
vue实现输入一位数字转汉字功能
2019/12/13 Javascript
uni-app使用countdown插件实现倒计时
2020/11/01 Javascript
jQuery实现移动端扭蛋机抽奖
2020/11/08 jQuery
[07:38]2014DOTA2国际邀请赛 Newbee顺利挺进胜者组赛后专访
2014/07/15 DOTA
[42:32]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第二场 10.28
2020/10/28 DOTA
Python中的下划线详解
2015/06/24 Python
使用Python第三方库pygame写个贪吃蛇小游戏
2020/03/06 Python
详解基于Jupyter notebooks采用sklearn库实现多元回归方程编程
2020/03/25 Python
Python如何合并多个字典或映射
2020/07/24 Python
python爬虫使用scrapy注意事项
2020/11/23 Python
澳大利亚音乐商店:Bava’s Music City
2019/05/05 全球购物
校友会欢迎辞
2014/01/13 职场文书
学习党的群众路线教育实践活动心得体会
2014/03/01 职场文书
元宵晚会主持词
2014/03/25 职场文书
小学生期末评语大全
2014/04/21 职场文书
2014四风问题对照检查材料范文
2014/09/15 职场文书
2015年幼儿园中班开学寄语
2015/05/27 职场文书
初中毕业生感言
2015/07/31 职场文书
python 利用 PIL 将数组值转成图片的实现
2021/04/12 Python
mysql外连接与内连接查询的不同之处
2021/06/03 MySQL
详解TypeScript的基础类型
2022/02/18 Javascript
SQL Server中T-SQL标识符介绍与无排序生成序号的方法
2022/05/25 SQL Server