目录
一、问题或需求
批量打印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。