如何通过pywin32扩展库在Python中实现批量文档打印操作?
- 内容介绍
- 文章标签
- 相关推荐
本文共计498个文字,预计阅读时间需要2分钟。
为了实现文档打印功能,您需要确保Python环境已正确安装了`pywin32`扩展库。以下是简化后的步骤:
1. 安装`pywin32`: - 下载`pywin32`的whl文件。 - 使用pip进行离线安装:`pip install --no-index --find-links=/path/to/whlfile pywin32`
2. 使用`win32api`的`ShellExecute`函数实现文档打印: python import win32api import win32con
def print_document(file_path): # 调用ShellExecute函数 win32api.ShellExecute(0, 'print', file_path, '', '', win32con.SW_SHOW)
3. 调用`print_document`函数,传入文档路径进行打印。
本文代码需要正确安装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实现批量文档打印实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。
本文共计498个文字,预计阅读时间需要2分钟。
为了实现文档打印功能,您需要确保Python环境已正确安装了`pywin32`扩展库。以下是简化后的步骤:
1. 安装`pywin32`: - 下载`pywin32`的whl文件。 - 使用pip进行离线安装:`pip install --no-index --find-links=/path/to/whlfile pywin32`
2. 使用`win32api`的`ShellExecute`函数实现文档打印: python import win32api import win32con
def print_document(file_path): # 调用ShellExecute函数 win32api.ShellExecute(0, 'print', file_path, '', '', win32con.SW_SHOW)
3. 调用`print_document`函数,传入文档路径进行打印。
本文代码需要正确安装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实现批量文档打印实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。

