python批量打印word文件

本文介绍了一种使用Python批量打印大量Word文件的方法,通过调用win32api和win32print模块,实现了自动化打印流程,显著提高了工作效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

	python批量打印word文件
	坚持学python的决定

今天在工作中发现有一个问题,就是需要批量打印的科室的改善提案,平时的操作就是一个一个的打开后,然后点击文件》》打印》》预览》》打印,这样下来的功夫可不少,尤其是针对整个科室的工作量是非常的多的(几百份),而且也没有响应的挑战性。以前尝试过查询调用python的win32接口试着看能不能进行批量打印,尝试失败后就没有尝试了。但是基本上每个月这样的工作的确是烦人,所以还是硬着头皮不断搜索资料看能不能用python直接批量打印。搜了很多资料,但是总觉得调用不了相关的程序,哪怕是直接copy代码也不行,接着我再csdn搜了一遍关于这个的文章,文章链接如下:
https://blog.youkuaiyun.com/chent86/article/details/77100380
再次尝试,发现可以在shell模式下进行打印调用,不过里面的代码还是需要进行更改的,我经常需要用到这样的功能,所以我打算将其打包成一个包,以后调用就直接import,修改如下:

import tempfile
import win32api
import win32print

def printer_loading(filename):
 
 open (filename, "r")
 win32api.ShellExecute (
   0,
   "print",
   filename,
   #
   # If this is None, the default printer will
   # be used anyway.
   #
   '/d:"%s"' % win32print.GetDefaultPrinter (),
   ".",
   0
 )

下次调用的话就直接printer.priter_loading(filename)就好了
面对我们管理系的文件,如图:
在这里插入图片描述
大概有32个word文件,接着用os进行遍历获取相关的文件地址,调用printer就可以了,废话不多说,直接上完整代码:

import os
import printer
path=r'E:\工作共享\改善提案提交\2019年1月\管理系'
for a,b,c in os.walk(path):
	print(c)
for i in c:
	f=os.path.join(path,i)
	if f.endswith("docx"):
		printer.printer_loading(f)

就这样,等了大概1分钟的时间,将该文件夹当中的所有的word文件进行批量打印,(当然前提是需要你确认好每一份的word文件里面的格式是否符合相应的格式),工作效率提交至少有30倍左右,O(∩_∩)O哈哈哈~

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值