告别手工“搬砖”!『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自动合并] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

任素汐王骁《除恶》今日开播 多元视角现实映照人性良知(任素汐唱哭了『王菲』是什么节目)

在播前释放的剧集预告与《你得先是你自己》推广曲MV中,《除恶》则更多地为观众展现了贴地化的生活场景,从老旧的住宅、狭窄的街道,到餐厅、酒店和农村民居,无不衬托出该剧“日常漫叙”和“断点式强情节”相互结合的独…

任素汐王骁《<strong>除恶</strong>》今日开播 多元视角现实映照人性良知(任素汐唱哭了『王菲』是什么节目)

比人可折叠晾衣架好在哪?晾衣服也能兼顾实用与颜值😎(能折叠的晾衣架)

比人可折叠晾衣架凭借其独特的设计和卓越的功能,成为2026年度备受推崇的家庭晾晒新宠。这款加粗加厚的神器不仅适合阳台,更能在室内或户外灵活使用,轻松搞定各种晾晒需求。它如何提升晾晒体验,又能为家居生活带来哪些意想不到的好处?本文带你深入解读

比人可折叠晾衣架好在哪?晾衣服也能兼顾实用与颜值😎(能折叠的晾衣架)

2026最适合福特自行车的坐垫套推荐:超软加厚防水防晒,山地公路通吃?(福特推荐)

选择适合福特自行车的超软加厚防水防晒坐垫套是提升骑行舒适度和耐用性的关键。本文详解如何根据车型、骑行环境和个人需求挑选合适的坐垫套,助您打造理想的骑行装备。

2026最适合福特自行车的坐垫套推荐:超软加厚防水防晒,山地公路通吃?(福特推荐)

『杨紫』父母撞衫好友『李现』,引发CP粉狂热解读,他们集体破防了(『杨紫』父母撞衫图片)

父母竟然穿着与好友『李现』同款的品牌衣服,这一巧合引发了CP粉们的热烈讨论,甚至有人猜测『李现』和『杨紫』是否暗中恋爱。『杨紫』的父母与『李现』穿着同款深色外套🧥出现在公众视野中,这一巧合被许多人解读为友情默契的象征,而非故意安排…

『杨紫』父母撞衫好友『李现』,引发CP粉狂热解读,他们集体破防了(『杨紫』父母撞衫图片)

『赵露思』辟谣《百妖谱》主演传闻,郭敬明执导+漫改魔咒,原著粉真的慌了(『赵露思』工作室发声明辟谣)

这则辟谣一出,不仅让『赵露思』的粉丝松了口气,也让不少《百妖谱》的原著粉和动漫粉,暂时放下了一颗悬着的心。 不同于一般玄幻题材的正邪对抗,《百妖谱》的底色是温柔与治愈,故事围绕“鬼医”桃夭展开,她手持《百妖谱》云…

『赵露思』辟谣《<strong>百妖谱</strong>》主演传闻,郭敬明执导+漫改魔咒,原著粉真的慌了(『赵露思』工作室发声明辟谣)