告别手工“搬砖”!『DeepSeek』+Python一招搞定百份PDF自动合并

小编速览

生活中我们都会遇到处理各种PDF格式文件的问题,如查找、合并、分割、压缩等等,如果还是像以前一样用Adobe Acrobat或Pdfgear手工操作,不仅费时耗力,还让我们身心俱疲。人工智能时代,我们可以充分利用AI+Python来批量操作PDF文件,彻底“解放双手”,告别“996”,准点下班。

一、问题背景

也许你是行政、财务或HR部门的一员,定期都要处理大量PDF文件,比如,需要把每个人的个人简历和对应的入职申请表合并成一个PDF,或者把项目报告和费用清单打包在一起。手动操作就是:打开A文件,追加B文件,再保存为C文件…这样重复一百遍。

这样的“职场搬砖”,枯燥且极易出错,有没有更加省力的方法?今天,我们的思路是用『DeepSeek』编写Python代码,让Python替我们完成这份苦力活。

二、思路分析

写代码前,先梳理需求,树立“产品思维”。首先,确定程序目标:查找文件,根据其文件名自动匹配另一个文件,再把者合二为一,生成我指定文件名。

于是,我们有了下面的“作战计划”:

1.定点存放:把个人简历和入职申请这两类PDF分别放进两个文件夹,分别命名为:【简历】和【申请表】。

2.智能匹配:程序的核心是“按名索骥”。比如,申请表文件叫张三.pdf,那就在简历文件夹里找文件名里查找包含“张三”的那个文件,或以两个PDF都有的报名号为标记来查找,毕竟在实际工作中还可能有重名的人。

3.批量作业:找到一对文件后,按规定的顺序(先简历后申请表),将它们合并成一个新PDF,存放到一个【合并结果】文件夹当中,如果这个文件夹不存在还要建立起来。

4.完美交付:把合并好的文件统一输出到合并结果,整整齐齐,方便查阅。

整个程序编写逻辑就是一个“遍历文件+智能匹配+批量处理”的流水线,全程无需人工干预,效率直接拉满。

三、解决办法与代码编写

工欲善其事,必先利其器。我们需要请出『DeepSeek』,利用os和glob这两个模块来编写强大的程序大代码。在这个过程中我们用到了os, glob用于处理路径和遍历文件,fitz(PyMuPDF)处理PDF。我编写的提示词如下:

当前目录下,有简历和申请表两个文件夹,先遍历每一个申请表pdf文件,然后获取其不带扩展名的文字(即申请ID),去简历目录下找到包含【申请ID】的PDF文件,然后把两个文件按照简历pdf文件在前,申请表PDF文件在后的形式合并在一起,不增加、删除或改原有pdf内容,名称命名为:XX公司_{简历名}.pdf,请给出python代码

下面是完整的代码解决方案,大家可以直接“抄作业”,但一定要理解每一行在做什么。

import osimport globimport fitz # PyMuPDF

def merge_pdfs(): # 定义文件夹路径 list_dir = './申请表' record_dir = './简历' output_dir = './合并结果' # 输出目录

# 创建输出目录(如果不存在) if not os.path.exists(output_dir): os.makedirs(output_dir)

# 获取所有清单PDF文件 list_pdfs = glob.glob(os.path.join(list_dir, '*.pdf'))

for list_pdf_path in list_pdfs: # 获取不带扩展名的文件名 list_filename = os.path.splitext(os.path.basename(list_pdf_path))[0]

# 在简历目录中查找对应的PDF文件 record_pdf_path = os.path.join(record_dir, f"{list_filename}.pdf")

if os.path.exists(record_pdf_path): try: # 创建新的PDF文档 output_doc = fitz.open()

# 打开申请表PDF并添加其所有页面 list_doc = fitz.open(list_pdf_path) output_doc.insert_pdf(list_doc) list_doc.close()

# 打开简历PDF并添加其所有页面 record_doc = fitz.open(record_pdf_path) output_doc.insert_pdf(record_doc) record_doc.close()

# 生成输出文件名 output_filename = f"{list_filename}_20250612.pdf" output_path = os.path.join(output_dir, output_filename)

# 保存合并后的PDF output_doc.save(output_path) output_doc.close()

print(f"已成功合并: {output_filename}") except Exception as e: print(f"处理文件 {list_filename} 时出错: {str(e)}") else: print(f"未找到对应的申请表文件: {list_filename}.pdf")

if __name__ == "__main__": merge_pdfs()

四、功能演示

实践阶段,可以把你需要合并的两类PDF分别放入【简历】和【申请表】文件夹,把代码py文件放到同级目录,一键运行,程序会自动开始匹配和合并,并在控制台打印实时日志。

完成后,所有合并好的文件都会整齐地躺在【合并结果】文件夹里。这样原本需要手动操作一二小时的工作,现在几十秒就搞定。效率直接拉满。

五、注意事项

代码写好了,但要想真正跑起来,这几个“坑”一定要注意:

1.命名规范:这个脚本的核心是字符串匹配。如果两边文件名风格差异巨大(比如一个用中文名,一个用工号),那就匹配不上。和你的同事约定好统一、清晰的命名规则,是成功运行代码的第一步。

2. 环境配置:运行前,务必用 pip install pymupdf 命令安装好 PyMuPDF 库。别让“库没安装”这种小问题挡住了你准点下班的路。

3. 异常处理:代码里的 try...except可以捕获一些意外错误(如PDF加密、损坏),让程序不会轻易崩溃,保证大部分文件能正常处理。

这个脚本是一个通用模板,你可以对其灵活调整,增加新的功能。你可以根据实际需求修改匹配规则、合并顺序或输出文件的命名方式,让它更适合你的具体业务。

特别说明:本文仅用于学术交流,如有侵权请后台联系小编删除。

转载来源:攀登英语

特别声明:[告别手工“搬砖”!『DeepSeek』+Python一招搞定百份PDF自动合并] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

情史混乱、内娱海后?『金晨』面相大变,她终究走上了一条不归路(『娱乐圈』️感情混乱)

一年后,两人悄然分手,事后更发生了一些不愉快的波折,甚至在七夕节时,『金晨』晒出与『邓伦』的牵手照,引发网友猜测复合,结果『邓伦』的经纪人直接回应称:这辈子都不可能,让两人的分手显得异常尴尬。此外,『金晨』与董又霖的关系也引…

情史混乱、内娱海后?『金晨』面相大变,她终究走上了一条不归路(『娱乐圈』️感情混乱)

传 Apple 正研发 AI 智能胸针,能拍照、对话,2027年推出(ios研发)

Apple Glass 预计于 2026年底前发布,初期提供音频与镜头功能,并计划在 2027年加入增强现实特性; 搭载镜头的 AirPods则可能依赖 iPhone 进行数据处理,将反馈传入用户耳中; …

传 Apple 正研发 AI 智能胸针,能拍照、对话,2027年推出(ios研发)

钢件孔底表面研磨,锐必克研磨刷高速加工(钢坯表面针孔)

钢件孔底表面粗糙,需要进行研磨加工,可使用锐必克研磨刷加装在加工中心机械臂专用机床上进行高速研磨,可根据不同的直径选型合适的研磨刷,达到加工效果。…

钢件孔底表面研磨,锐必克研磨刷高速加工(钢坯表面针孔)

高端轻奢掐丝珐琅彩艺术玻璃屏风,如何打造2026现代简约客厅入户正对门半墙亮点?(掐丝珐琅什么意思)

想要让现代简约客厅更有品质感?掐丝珐琅彩艺术玻璃屏风是高端轻奢的选择。这篇文章从入户屏风的功能需求、预算考量、设计搭配等方面,帮助你打造客厅入户半墙的独特视觉焦点,避免踩坑!

高端轻奢掐丝珐琅彩艺术玻璃屏风,如何打造2026现代简约客厅入户正对门半墙亮点?(掐丝珐琅什么意思)

热议性价比高的商业综合体二次供水设备,价格如何?(热议性价比高的手机)

以中粤泵业的二次供水设备为例,其高效节能体现在设备能借力市政管网的原有压力,在此基础上进行补充加压,相比传统的水池 + 水泵模式,节能率通常可达30% - 60%。 中粤泵业的二次供水设备虽然在价格上可能…

热议性价比高的商业综合体二次供水设备,价格如何?(热议性价比高的手机)