本文代码需要正确安装Python扩展库pywin32,建议下载whl文件进行离线安装。然后调用win32api的ShellExecute()函数来实现文档打印,系统会根据文档类型自动选择不同的软件进行打开并自动打印,如果要打印的是图片的话,需要手工确认一下。
关于ShellExecute()函数的参数含义请查阅Windows API或pywin32帮助文档。
1 2 3 4 5 6 7 8 9 10 11 | 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)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #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实现批量文档打印实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持自学编程网。
- 本文固定链接: https://zxbcw.cn/post/184360/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)