目录

一、问题或需求

二、前提条件或注意事项

三、代码设计思路

四、具体执行代码

五、效果观察

六、声明及致谢


一、问题或需求

批量打印PDF文档、Word文档、Excel表格、图片。

二、前提条件或注意事项

1.如需批量打印PDF文档,那么PDF文档默认阅读器必须是Adobe Acrobat Reader DC(如下图)。原因可能是:程序要调用到Windows系统端口,而Adobe Acrobat Reader DC也是微软公司发明的,它才能被Python程序调用。


2.Word文档、Excel表格的默认阅读器最好也是office软件的,WPS文档目前未测试,尚未知是否可行。

三、代码设计思路

1.先对目标文件夹遍历。
2.然后把目标文件发至默认打印机。

四、具体执行代码

备注:无须下载第三方库,因编程软件已自带。

import win32api
import os
if __name__ == '__main__':
	path = r"在这里输入文件所在的文件夹地址,如:C:\Users\Administrator\Desktop\打印"  #或path =str(input("请输入文件夹的绝对路径"))
	files = [path + "\\" + i for i in os.listdir(path)]  #获取文件夹下的文件名,并拼接完整路径。

for filename in files:
	print(filename)
	win32api.ShellExecute(0,"print",filename,None,".",0 )

'''
参数说明:
"print":选择的操作是打印;
"filename":这里是输入文件名;
"None":这里是打印机的设置,代表使用默认打印机;
".":(无说明)
"0":此参数应设置为0。
'''

五、效果观察

运行代码即可实现批量打印自动化。

六、声明及致谢

1.以上代码,是笔者从网络上搜集整理而来的,但反复运行了两天都不成功,万不得已请教高手,甚至还请高手出马写代码(那代码运行效果一样,上面的代码可读性强一些,这里就不放上来了),高手的代码在笔者的电脑上运行,但也不成功,后来才发现阅读器必须是Adobe Acrobat Reader DC才凑效。
2.这里用到了知乎作者“光动力科幻战舰”的代码,在此,对作者表示感谢!可参考原文地址:https://zhuanlan.zhihu.com/p/378251027。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐