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

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

猜你喜欢

票房未上映狂揽3700万,『吴京』『胡歌』难以匹敌,端午档冠军势在必得?(未上映 好看电影)

可以说,谈判专家凭借着口碑的优势,成功吸引了大批观众前来观影,也取得了不俗的票房成绩,有望成为本次端午档期的票房冠军。 通过提前点映,观众可以在影片上映之前就提前感受到影片的魅力,对于整体的口碑形成起到了至…

票房未上映狂揽3700万,『吴京』『胡歌』难以匹敌,端午档冠军势在必得?(未上映 好看电影)

电影节首映,谢苗零替身开打!甄子丹的《导火线》终于遇到对手了(电影节首映安排在后面)

影片的反派角色则由《突袭》中的1"疯狗1"雅彦·鲁伊安担纲,这位以残暴身手闻名的印尼演员将与谢苗上演多场刀战与裸拳对决,堪称全片最令人屏息的亮点。 在当下华语动作片面临演员断层的困境中,《火遮眼》无疑是一

电影节首映,谢苗零替身开打!甄子丹的《<strong>导火线</strong>》终于遇到对手了(电影节首映安排在后面)

891元,入手红米Note14,那是物超所值的!

红米Note14搭载天玑7025-Ultra处理器,采用了先进的台积电6nm工艺制程,不仅在功耗控制上做得相当出色,性能表现也足以满足大多数用户的日常需求。电池在满电状态,即使是中度使用,也能轻松满足一整天…

891元,入手红米Note14,那是物超所值的!

福晶科技:公司目前未参与量子通信的研发(福晶科技公司简介)

福晶科技9月15日在互动平台表示,公司目前未参与量子通信的研发。…

福晶科技:公司目前未参与量子通信的研发(福晶科技公司简介)

37岁『景甜』拍广告被偶遇:拿着扇子白里透红,她的花期不是一般的长(『景甜』拍过的广告)

商场里人头攒动,突然一抹翡翠绿闯入视线——原来是『景甜』来杭州参加品牌活动了。特别是和『董洁』同框的游船戏份,两人同穿白衣,『景甜』白皙透亮的肌肤直接把&quot;童年白月光&quot;衬得黯然失色。希望这位颜值与实力并存的女神能遇到好

37岁『景甜』拍广告被偶遇:拿着扇子白里透红,她的花期不是一般的长(『景甜』拍过的广告)