一、问题的提出
今天网友提问:报销时,财务要求要把发票合并打印,即两张合成一张放在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编程和英语方面的知识。