一、问题的提出

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

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐