python实现自动化打印
生活随笔
收集整理的這篇文章主要介紹了
python实现自动化打印
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這次真的是出于實際需要,想要用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
總結
以上是生活随笔為你收集整理的python实现自动化打印的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信小程序推送消息
- 下一篇: Python爬去知乎上问题下所有图片