首页
/
每日頭條
/
科技
/
快速寫入pdf文字的python代碼
快速寫入pdf文字的python代碼
更新时间:2024-07-08 12:41:28

首先從我的工作特點出發,介紹如果通過編程實現繁瑣的工作簡單化。

我在一家進口食品供應鍊企業工作,我的工作内容常常涉及到PDF文件的打印,比如:報關單,上回我分享了兩篇文章,關于 EXCEL - VBA代碼的實現批量打印PDF打印文件的文章:1、EXCE-VBA-批量打印單元格内指定文件名的文件;2、批量打印PDF文件 Excel VBA;今天還是圍繞打印PDF文件的,不過這次是用 Python代碼實現。

Python和Pycharm的安裝我這裡就直接跳過,搜索一下有很多教程的,Pycharm用免費版就可以了。

首先,實現方式完全是按照自己的想法來的,每個公司都自己的系統或者表格記錄着公司的重要信息,然而我們通過系統或者表格篩選出需要的數據後,通過複制相關信息後運行python程序後,程序會根據所複制的内容,在指定的文件夾内檢索相關PDF文件,進行PDF文件的複制和打印。

我們用到的庫有以下,安裝方法可以通過Win R,運行:CMA,輸入pip install 庫名安裝;或者 通過Pycharm的的文件-設置-python解釋器 搜索安裝,搜索一下有很多教程的;

import os import shutil from tkinter import * from tkinter import filedialog import glob import pyperclip import win32api,win32con,win32print

定義def函數:

1、用于存放複制過來的PDF文件,這個文件夾我叫它“需打印的報關單”(我的電腦桌面路徑是:C:\Users\Administrator\Desktop),主要功能就是判斷一下這個文件夾是否存在,不存在就直接創建,已存在的話彈出提示框;

def mkdir(): # 文件夾是否存在處理過程 isexists = os.path.exists("C:\\Users\\Administrator\\Desktop\\需打印的報關單") # 判斷路徑是否存在 # 存在True # 不存在False if not isExists: # 判斷 os.makedirs("C:\\Users\\Administrator\\Desktop\\需打印的報關單") # 不存在創建文件夾 return True else: #存在就彈出提示框 win32api.MessageBox(0, "帥哥美女:桌面已經有所需的文件夾了,文件夾内可能有之前的文件,請妥善處理後再點擊 确認 。", "小葉提醒", win32con.MB_ICONASTERISK)

2、定義打印PDF文件指令,自動選擇 電腦默認打印機;

def print_file(print_file): #定義打印PDF文件指令,自動選擇 電腦默認打印機 open(print_file,"r") win32api.ShellExecute( 0, "print", print_file, '/d:"%s"' % win32print.GetDefaultPrinter(), ".", 0 )

3、程序入口,已标注得非常清楚,這裡就不再扒拉巴拉了;

if __name__ == '__main__': a = 0 #定義一個變量,賦值為0,這個變量用于統計打印報關單的份數 mkdir() #調用函數 def mkdir(): 文件夾是否存在處理過程 path0 = "C:\\Users\\Administrator\\Desktop\\需打印的報關單\\" #定義一個變量,将創建的文件夾路徑賦值給它 path2 = pyperclip.paste() #定義一個變量,存放獲取的剪切闆數據 filelist0 = path2.split("\r\n") #定義一個變量,存放列表化的剪切闆數據 if not path2: #剪切闆為空的時候彈出提示框 win32api.MessageBox(0, "帥哥美女:沒有複制到櫃号 或者 複制了其他無關内容,請重新到Excel表格複制櫃号。", "小葉提醒QQ308699402", win32con.MB_ICONASTERISK) root = Tk() #創建一個窗體,通過這個窗口選擇指定的目标文件夾,目标文件夾存放着很多PDF文件,我們要通過這個程序在這個文件夾中篩選出需要的文件 root.withdraw() # 隐藏主窗口 path1 = filedialog.askdirectory() #定義一個變量,存放存放目标文件夾内容 filelist1 = os.listdir(path1) #定義一個變量,存放文件内容列表化數據 for aa in filelist0: #将列表化的剪切闆數據一個一個的循環賦值給 aa for bb in filelist1: #将文件内容列表化數據一個一個的循環賦值給 bb bb1 = bb[0:7] #過濾文件名 bb2 = bb[3:10] #過濾文件名 bb3 = bb[-13:-6] #過濾文件名 bb4 = bb[-14:-7] #過濾文件名 if bb1 == aa or bb2 == aa or bb3 == aa or bb4 == aa: #判斷過濾後的文件名與剪切闆數據是否一緻,直到全部剪切闆數據比對完成 aa for cc in glob.glob(path1 "/*" aa "*關*.pdf"): #循環選取一緻的文件 shutil.copy(cc,path0) #複制PDF文件到需打印的報關單文件夾 win32api.MessageBox( #批次量打印前的一次重要提醒,點擊 确認 便開始打印複制好的PDF文件 0, "帥哥美女:\n" "電腦自動選擇默認打印機\n" "請檢查打印機裡面的紙張是否全部都是白紙,白紙是否足夠\n" "點擊 确定 後開始打印文件夾内的報關單", "小葉提醒QQ308699402", win32con.MB_ICONASTERISK) desktop_path = "C:\\Users\\Administrator\\Desktop\\" #定義一個變量,賦值一個路徑,用于存放打印結果 full_path = desktop_path '已打印的報關單詳細清單.txt' # 創建一個txt文件,也可以創建一個.doc的word文檔 file = open(full_path, 'w') #打開txt文檔,寫入數據 file.write("已打印的報關單有:\n") for i in os.listdir(path0): #循環打印報關單,直到 文件夾需打印的報關單裡的全部文件加載到打印 file_path = os.path.join(path0, i) print_file(file_path) #調用打印PDF文件指令函數 a = 1 #打印計數 file.write(str(i) "\n") #已打印的文件名 file.write("一共打印了" str(a) "份報關單,請等待打印機完成全部打印!!!") file.close() #寫入關閉

大功告成,運行一下吧!

注意:

1、電腦必須安裝Adobe的PDF閱讀器,并且将Adobe的PDF閱讀器必須設為置為PDF文件的默認打開方式,否則程序會報錯(error: (31, 'ShellExecute', '連到系統上的設備沒有發揮作用。'))

2、運行前先複制好數據;

3、相關圖片

快速寫入pdf文字的python代碼(Python實現批量)1

快速寫入pdf文字的python代碼(Python實現批量)2

快速寫入pdf文字的python代碼(Python實現批量)3

快速寫入pdf文字的python代碼(Python實現批量)4

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
怎麼選筆記本電腦
怎麼選筆記本電腦
1、首先我們要選擇一個大的一線品牌,畢竟的話大品牌售後質量還有産品質量都會有比較好的保證。2、另外的...
2024-07-08
微信語音發不出去怎麼辦
微信語音發不出去怎麼辦
1、怎麼做:(1)進入設置,下滑頁面找到“授權管理”。(2)進入“應用權限管理”,下拉頁面找到“微信...
2024-07-08
石油工程技術專業就業方向與就業前景怎麼樣
石油工程技術專業就業方向與就業前景怎麼樣
高考填報志願時,石油工程技術專業就業方向有哪些以及就業前景怎麼樣是廣大考生和家長朋友們十分關心的問題,以下是整理的石油工程技術專業簡介、就業方向、就業前景等信息,供大家參考。1、石油工程技術專業簡介石油工程技術專業培養适應石油工程生産、建設、管理、服務第一線需要的,從事石油工程設計方案的實施、運行施...
2024-07-08
2022食品科學與工程專業學什麼 主要課程有哪些
2022食品科學與工程專業學什麼 主要課程有哪些
食品微生物學、食品化學、食品工程原理、食品保藏原理、生物統計與試驗設計、食品分析、農産品加工學、食品衛生與安全控制、食品機械與設備、食品工廠設計等。2022食品科學與工程專業就業方向比如,産品研發工程師,像長三角、珠三角地區的食品企業,做得比較好的食品公司娃哈哈、冠生園等,還有蒙牛、伊利這種乳制品企...
2024-07-08
洗車需要注意哪些事項
洗車需要注意哪些事項
1、一周洗1次車為最佳:在日常用車中存在這樣兩種情況,有的車主由于愛幹淨,三天兩頭的洗車,但是有的車主卻是幾個月都不洗一次車。其實這兩種行為都是不可取的。一般情況下,一周洗1次就比較合适。一般的浮塵,用雞毛撣子或軟毛拖把打整即可。2、洗車要用軟棉刷子:可能有的車主會用塑料刷子洗車,覺得洗的更幹淨,但...
2024-07-08
Copyright 2023-2024 - www.tftnews.com All Rights Reserved