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字符串对其居中显示的方法
Jul 11 Python
Python处理JSON数据并生成条形图
Aug 05 Python
Python Socket编程详细介绍
Mar 23 Python
Django如何实现内容缓存示例详解
Sep 24 Python
Python函数any()和all()的用法及区别介绍
Sep 14 Python
python binascii 进制转换实例
Jun 12 Python
python pandas模块基础学习详解
Jul 03 Python
python实现LRU热点缓存及原理
Oct 29 Python
Python3.6 + TensorFlow 安装配置图文教程(Windows 64 bit)
Feb 24 Python
Python GUI库PyQt5图形和特效样式QSS介绍
Feb 25 Python
pytorch判断是否cuda 判断变量类型方式
Jun 23 Python
Python爬取某拍短视频
Jun 11 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 将逗号、空格、回车分隔的字符串转换为数组的函数
2012/06/07 PHP
九个你必须知道而且又很好用的php函数和特点
2013/08/08 PHP
在WordPress的文章编辑器中设置默认内容的方法
2015/12/29 PHP
Laravel5.4框架中视图共享数据的方法详解
2019/09/05 PHP
JS版的date函数(和PHP的date函数一样)
2014/05/12 Javascript
jQuery实现在下拉列表选择时获取json数据的方法
2015/04/16 Javascript
javascript实现链接单选效果的方法
2015/05/13 Javascript
利用jQuery实现漂亮的圆形进度条倒计时插件
2015/09/30 Javascript
微信小程序page的生命周期和音频播放及监听实例详解
2017/04/07 Javascript
Vue实现virtual-dom的原理简析
2017/07/10 Javascript
关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性)
2018/09/04 Javascript
使用JavaScript破解web
2018/09/28 Javascript
详解ES6系列之私有变量的实现
2018/11/21 Javascript
微信小程序使用for循环动态渲染页面操作示例
2018/12/25 Javascript
超详细的5个Shell脚本实例分享(值得收藏)
2019/08/15 Javascript
javascript写一个ajax自动拦截并下载数据代码实例
2019/09/07 Javascript
在vue中使用防抖和节流,防止重复点击或重复上拉加载实例
2019/11/13 Javascript
解决ele ui 表格表头太长问题的实现
2019/11/13 Javascript
JavaScript实现英语单词题库
2019/12/24 Javascript
vue-router懒加载的3种方式汇总
2021/02/28 Vue.js
在Python中操作日期和时间之gmtime()方法的使用
2015/05/22 Python
Python实现程序的单一实例用法分析
2015/06/03 Python
python自动裁剪图像代码分享
2017/11/25 Python
浅谈python正则的常用方法 覆盖范围70%以上
2018/03/14 Python
python3.6使用tkinter实现弹跳小球游戏
2019/05/09 Python
python跳出双层for循环的解决方法
2019/06/24 Python
详解如何减少python内存的消耗
2019/08/09 Python
浅谈keras的深度模型训练过程及结果记录方式
2020/01/24 Python
优秀中专生推荐信
2013/11/17 职场文书
领导的自我鉴定
2013/12/28 职场文书
我的理想演讲稿
2014/04/30 职场文书
投标承诺函范文
2015/01/21 职场文书
开会通知
2015/04/20 职场文书
2015年学校财务工作总结
2015/05/19 职场文书
高二语文教学反思
2016/02/16 职场文书
Win11 25163.1010更新补丁KB5016904推送,测试服务验证管道(附更新修复汇总)
2022/07/23 数码科技