一、問題的提出
今天網友提問:報銷時,財務要求要把發票合并打印,即兩張合成一張放在A4紙上,中間還要加一道黑色分界線,如何快速完成數十張發票的打印?
問題的提出
二、問題分析
這個問題可以采用兩種方法解決,一種是把所有的發票合并,然后打印時直接設置一頁多張就可以完成。
添加圖片注釋,不超過 140 字(可選)
另一種就是借用Python,利用其pymupdf這個模塊,通過遍歷、讀取、設置A4紙大小,把PDF放在一張A4紙上,最終合成一張PDF。
由于網友要求在兩張發票中間加一道黑色分隔線,因此普通的合并打印法就不行了,只能請出Python,這把瑞士軍刀,實現下圖的最終效果:
合并后發票
三、問題的解決
經過分析,我準備把所有PDF文件設定在一個Files目錄下面,讓Python去遍歷后兩個兩個合成在一起,添加分隔線,生成PDF,最終的一個流程圖如下所示:
流程圖
四、代碼實現
全部代碼都在CodeBuddy中編寫,由于沒有設定UI界面,因此代碼使用的模塊不多,只需要PyMuPDF, os, datetime等模塊即可。打包后為60M左右,這是由于沒有設定虛擬環境,所以文件比較大。
程序運行速度還可以,幾十個文件10秒內搞定,而且排放整齊,分隔線也按要求添加,生成的文件是加了時間戳的PDF文件,這樣每次生成的文件之間不會相互覆蓋。用戶打開PDF直接打印即可。最后的代碼如下: 五、結語
AI賦能Python編程為解決常見的辦公自動化問題提供了新的路徑,提升了辦公效率。這種辦法的優點在于思路清晰,執行效率高,節省人力和財力,同時支持個性化設置,并且不易出錯。
如果你還沒有嘗試過,就打開DeepSeek,開啟你的AI編程之旅吧。
關注我,學習更多Python編程和英語方面的知識。