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下载FTP上的文件夹的实现代码
Feb 10 Python
python中pygame针对游戏窗口的显示方法实例分析(附源码)
Nov 11 Python
利用Python找出序列中出现最多的元素示例代码
Dec 08 Python
详解python string类型 bytes类型 bytearray类型
Dec 16 Python
python机器人行走步数问题的解决
Jan 29 Python
Python网络爬虫神器PyQuery的基本使用教程
Feb 03 Python
python3+PyQt5自定义视图详解
Apr 24 Python
Python从列表推导到zip()函数的5种技巧总结
Oct 23 Python
python getopt模块使用实例解析
Dec 18 Python
在Pytorch中计算卷积方法的区别详解(conv2d的区别)
Jan 03 Python
pycharm通过anaconda安装pyqt5的教程
Mar 24 Python
PyCharm中关于安装第三方包的三个建议
Sep 17 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实现图片的上传、裁剪、预览、提交示例
2013/08/27 PHP
PHP生成迅雷、快车、旋风等软件的下载链接代码实例
2014/05/12 PHP
PHP自定session保存路径及删除、注销与写入的方法
2014/11/18 PHP
php通过记录IP来防止表单重复提交方法分析
2014/12/16 PHP
php实现检查文章是否被百度收录
2015/01/27 PHP
laravel项目利用twemproxy部署redis集群的完整步骤
2018/05/11 PHP
PHP基于openssl实现的非对称加密操作示例
2019/01/11 PHP
javascript 年月日联动实现核心代码
2009/12/21 Javascript
Javascript setInterval的两种调用方法(实例讲解)
2013/11/29 Javascript
基于jQuery实现点击最后一行实现行自增效果的表格
2016/01/12 Javascript
jquery实现右侧栏菜单选择操作
2016/03/04 Javascript
jQuery使用$.each遍历json数组的简单实现方法
2016/04/18 Javascript
Vue.js快速入门教程
2016/09/07 Javascript
理解javascript中的Function.prototype.bind的方法
2017/02/03 Javascript
Nodejs实现多文件夹文件同步
2018/10/17 NodeJs
JavaScript原型式继承实现方法
2019/11/06 Javascript
微信小程序日历插件代码实例
2019/12/04 Javascript
在Vue项目中使用Typescript的实现
2019/12/19 Javascript
JS Html转义和反转义(html编码和解码)的实现与使用方法总结
2020/03/10 Javascript
[01:02:48]2018DOTA2亚洲邀请赛小组赛 A组加赛 Newbee vs Liquid
2018/04/03 DOTA
Python列表计数及插入实例
2014/12/17 Python
使用rpclib进行Python网络编程时的注释问题
2015/05/06 Python
【Python】Python的urllib模块、urllib2模块批量进行网页下载文件
2016/11/19 Python
一个基于flask的web应用诞生 flask和mysql相连(4)
2017/04/11 Python
python实现微信接口(itchat)详细介绍
2017/10/23 Python
python广度优先搜索得到两点间最短路径
2019/01/17 Python
django认证系统 Authentication使用详解
2019/07/22 Python
Python3 chardet模块查看编码格式的例子
2019/08/14 Python
python入门之井字棋小游戏
2020/03/05 Python
浅谈Django中的QueryDict元素为数组的坑
2020/03/31 Python
详解BeautifulSoup获取特定标签下内容的方法
2020/12/07 Python
HTML5视频支持检测(检查浏览器是否支持视频播放)
2013/06/08 HTML / CSS
小学生读书感言
2014/02/12 职场文书
战友聚会主持词
2014/04/02 职场文书
大学本科生职业生涯规划书范文
2014/09/14 职场文书
漫改真人电影「萌系男友是燃燃的橘色」公开先导视觉图
2022/03/21 日漫