python实现自动化打印

您所在的位置:网站首页 自动打印代码 python实现自动化打印

python实现自动化打印

2024-07-13 21:30| 来源: 网络整理| 查看: 265

这次真的是出于实际需要,想要用python写个小脚本 老板发给我一份包含几百个人信息的pdf文件,如果一份一份打开文件,点打印我感觉要看到眼花。

但是我可是学过python的(虽然面向对象还没有学完),但是调用第三方库是学了呀,如果有别人的代码看看我还是能改改的。 说干就干 查资料,看别人已经写出来的内容

发现调用电脑程序需要用到win32这个库,而且初略的看了下就发现此库非常NB,怎么说,这个库可以同计算机进行交互,比如弹出提示框,或者调用系统内置一些程序。范围太广,而且不是学习目的,以后再讨论。

最终,发现主要用到的两个库是 win32api和win32print(估计这个就是管打印机的)。

安装win32,直接就 pip install pywin32 或者下面这个通过豆瓣镜像安装的 pip install -i http://pypi.douban.com/simple/ pywin32 --trusted-host pypi.douban.com 其他方法类似,pip安装不多说

在查资料,发现基本上都会用到下面这个代码

import win32print import tempfile import win32api def print_file(filename): open(filename,"r") win32api.ShellExecute( 0, "print", filename, '/d:"%s"' % win32print.GetDefaultPrinter(), ".", 0 )

需要注意,这个代码中filename应该是文件路径,具体到文件

eg,要打印11.pdf文件

C:\Users\mik\Desktop\py_word\11.pdf

下面就容易了,写一个得到全部文件内容的代码,然后调用print_file就行了 path = r"C:\Users\mik\Desktop\打印" for i in os.listdir(path): file_path = os.path.join(path,i) print("你要打印的文件是%s"%i) print_file(file_path) 哈哈,nb,至此大功告成,后来发现,每一个pdf有十几页,而我要把他们都订起来。。。。 下次我可能就要写一个自动订文件打印机的程序了 后记,打印机选择是默认的打印机,我用的是单面打印的打印机,如果是双面打印,可以修改系统默认打印机的设置,这个网上找就行了;我看有的教程需要安装GSPRINT和Ghostscript,并将其添加到系统环境中,但是我并没有安装也可以(如果有特别要求可能要用到“Ghostscript,GhostView”,比如打印特定的页码,这篇文章有涉及可以参考);当然也在于在最后查找文件的时候写一些小范围,比如只打印word之类的。

if i.endswith(“docx”): print_file(file_path)

2020.10.23



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3