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使用pip安装第三方库(工具包)速度慢、超时、失败的解决方案
Dec 02 Python
Python当中的array数组对象实例详解
Jun 12 Python
pandas计数 value_counts()的使用
Jun 24 Python
PyQt5通信机制 信号与槽详解
Aug 07 Python
python多线程与多进程及其区别详解
Aug 08 Python
Numpy 中的矩阵求逆实例
Aug 26 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
Nov 15 Python
Python基于class()实现面向对象原理详解
Mar 26 Python
使用OpenCV实现道路车辆计数的使用方法
Jul 15 Python
详解python 内存优化
Aug 17 Python
Python urllib3软件包的使用说明
Nov 18 Python
利用Python将list列表写入文件并读取的方法汇总
Mar 25 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+js实现异步图片上传实例分享
2014/06/02 PHP
在Linux系统的服务器上隐藏PHP版本号的方法
2015/06/06 PHP
PHP内核探索:哈希表碰撞攻击原理
2015/07/31 PHP
php+js实现百度地图多点标注的方法
2016/11/30 PHP
PHP CURL实现模拟登陆并上传文件操作示例
2020/01/02 PHP
PHP延迟静态绑定使用方法实例解析
2020/09/05 PHP
JavaScript中的History历史对象
2008/01/16 Javascript
YUI 读码日记之 YAHOO.lang.is*
2008/03/22 Javascript
关于文本框的一些限制控制总结~~
2010/04/15 Javascript
innerHTML与jquery里的html()区别介绍
2012/10/12 Javascript
jQuery 获取URL的GET参数值的小例子
2013/04/18 Javascript
jQuery根据纬度经度查看地图处理程序
2013/05/08 Javascript
使用JavaScript的ActiveXObject对象检测应用程序是否安装的方法
2014/04/15 Javascript
JS+CSS实现带有碰撞缓冲效果的竖向导航条代码
2015/09/15 Javascript
JQuery实现的按钮倒计时效果
2015/12/23 Javascript
JavaScript动态添加css样式和script标签
2016/07/19 Javascript
利用node.js爬取指定排名网站的JS引用库详解
2017/07/25 Javascript
浅谈Angular 中何时取消订阅
2017/11/22 Javascript
JS实现在文本指定位置插入内容的简单示例
2017/12/22 Javascript
javascript中数组的常用算法深入分析
2019/03/12 Javascript
如何在Node和浏览器控制台中打印彩色文字
2020/01/09 Javascript
js简单实现自动生成表格功能示例
2020/06/02 Javascript
跟老齐学Python之使用Python操作数据库(1)
2014/11/25 Python
python3新特性函数注释Function Annotations用法分析
2016/07/28 Python
Python面向对象特殊成员
2017/04/24 Python
Python 自动化表单提交实例代码
2017/06/08 Python
pandas 对日期类型数据的处理方法详解
2019/08/08 Python
python 解决cv2绘制中文乱码问题
2019/12/23 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
python查找特定名称文件并按序号、文件名分行打印输出的方法
2020/04/24 Python
Python实现查找数据库最接近的数据
2020/06/08 Python
Python sklearn中的.fit与.predict的用法说明
2020/06/28 Python
西班牙英格列斯百货官网:El Corte Inglés
2016/09/25 全球购物
小学教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
旷工检讨书1000字
2015/01/01 职场文书
超市督导岗位职责
2015/04/10 职场文书