你是不是也遇到过这样的场景?
老板发来一份50页的PDF报告,让你只提取其中第15-20页,还要把所有表格整理成Excel。你打开PDF,一页页复制粘贴,眼睛都快看瞎了,结果发现表格格式全乱了😭
或者,你手上有10个PDF文件,需要把它们合并成一份完整的资料发给客户。你打开某个在线工具,上传、等待、下载...结果发现免费版有水印,付费又觉得不值得。
别急!今天我要给你安利一个PDF处理神器——基于pypdf和pdfplumber的Python工具包,让你从此告别这些烦恼。它就像PDF世界的瑞士军刀,切割、合并、提取、旋转,样样精通!
更棒的是,完全免费,代码简单到小白都能上手。你只需要会一点点Python基础,就能让你的工作效率翻10倍!

项目亮点 🔥
✨ 一键提取表格:PDF里的复杂表格秒变结构化数据,再也不用手动复制粘贴
✂️ 智能拆分合并:支持任意页面拆分、多文档合并,就像剪裁纸张一样简单
📄 文本精准提取:保持原始排版,支持中英文混合内容
🔄 页面旋转调整:横版竖版随意转,打印阅读都方便
🎯 元数据读取:标题、作者、创建时间等信息一目了然

解决什么痛点?😫
让我给你讲个小故事。
上周三下午3点,我的朋友小王接到一个紧急任务:客户发来一份30页的年度财报PDF,需要提取其中第5-10页的所有财务数据表格,然后合并到另一份汇报文档里。
按照以前的做法,小王得这样操作:
打开PDF,找到第5页 选中表格,复制 粘贴到Excel,发现格式全乱 手动调整列宽、行高、合并单元格 重复10遍... 再打开另一个PDF,复制、粘贴...
等他弄完,已经是晚上7点了。关键是,还漏了一个表格,被老板批评不够细心😤
而现在有了这个PDF工具包,小王只需要写10行代码,3秒钟就能搞定所有提取和合并工作。不仅快,而且准确率100%,不会漏掉任何一个数据。

手把手教程 🚀
别被代码吓到,跟着我一步步来,你也能成为PDF处理大师!
➤ 第一步:环境安装
打开你的终端(Windows用cmd或PowerShell),输入下面这行命令:
pip install pypdf pdfplumber等待几秒钟,看到“Successfully installed”就说明安装成功啦!
小提示:如果你用的是Mac或Linux,可能需要先输入pip3而不是pip。
➤ 第二步:提取PDF中的文字
假设你有一个叫“报告.pdf”的文件,想提取里面所有的文字内容:
from pypdf import PdfReader# 读取PDF文件reader = PdfReader("报告.pdf")# 获取总页数print(f"这个PDF一共有{len(reader.pages)}页")# 提取所有文字全部文字 = ""for 页码 in reader.pages: 全部文字 += 页码.extract_text()# 打印出来看看print(全部文字)# 保存到txt文件withopen("提取的文字.txt", "w", encoding="utf-8") as f: f.write(全部文字)就这么简单!3行核心代码,所有文字都乖乖跑出来啦。
➤ 第三步:合并多个PDF文件
你手上有三个PDF:合同1.pdf、合同2.pdf、合同3.pdf,想合并成一个完整的文件?
from pypdf import PdfWriter, PdfReader# 创建一个写入器合并器 = PdfWriter()# 要合并的文件列表文件列表 = ["合同1.pdf", "合同2.pdf", "合同3.pdf"]# 逐个读取并添加for 文件名 in 文件列表: 读取器 = PdfReader(文件名)for 页面 in 读取器.pages: 合并器.add_page(页面)# 保存合并后的文件withopen("完整合同.pdf", "wb") as 输出文件: 合并器.write(输出文件)print("合并完成!快去看看吧~")就像整理文件一样,把几份文档按顺序叠在一起,装订成册。是不是很直观?
➤ 第四步:拆分PDF(提取指定页面)
只需要第5-10页,其他的都不要?
from pypdf import PdfReader, PdfWriter# 读取原始文件读取器 = PdfReader("大报告.pdf")写入器 = PdfWriter()# 提取第5页到第10页# 注意:PDF页码从0开始,所以第5页对应索引4for 页码 inrange(4, 10): 写入器.add_page(读取器.pages[页码])# 保存新文件withopen("第5-10页.pdf", "wb") as 输出文件: 写入器.write(输出文件)print(f"已提取{len(写入器.pages)}页")如果你想要拆分成每页一个独立文件:
读取器 = PdfReader("大报告.pdf")for i, 页面 inenumerate(读取器.pages): 单页写入器 = PdfWriter() 单页写入器.add_page(页面)withopen(f"第{i+1}页.pdf", "wb") as 输出文件: 单页写入器.write(输出文件)print(f"已保存第{i+1}页")➤ 第五步:旋转页面(拯救歪脖子文档)
有些扫描件页面方向不对,横竖混排看得脖子疼?
from pypdf import PdfReader, PdfWriter读取器 = PdfReader("扫描件.pdf")写入器 = PdfWriter()# 把第一页旋转90度第一页 = 读取器.pages[0]第一页.rotate(90) # 顺时针旋转90度写入器.add_page(第一页)# 其他页面不变for 页码 inrange(1, len(读取器.pages)): 写入器.add_page(读取器.pages[页码])withopen("旋转后.pdf", "wb") as 输出: 写入器.write(输出)print("旋转完成!现在文档是正的了~")➤ 第六步:提取PDF表格(这才是重头戏!)
这是最让人头疼的部分,但用pdfplumber就简单多了:
import pdfplumber# 打开PDFwith pdfplumber.open("财务报表.pdf") as pdf:# 遍历每一页for 页码, 页面 inenumerate(pdf.pages):# 提取当前页的所有表格 表格列表 = 页面.extract_tables()if 表格列表:print(f"第{页码+1}页发现了{len(表格列表)}个表格")# 处理第一个表格 第一个表格 = 表格列表[0]for 行 in 第一个表格:print(行) # 打印每一行数据# 如果你想保存成Excel,可以用pandas(需要先安装:pip install pandas)import pandas as pd df = pd.DataFrame(第一个表格) df.to_excel(f"第{页码+1}页表格.xlsx", index=False)是不是超级简单?表格直接变成结构化数据,再也不用手动对齐了!
➤ 第七步:获取PDF元数据(作者、标题等)
from pypdf import PdfReader读取器 = PdfReader("报告.pdf")元数据 = 读取器.metadataprint(f"标题: {元数据.title}")print(f"作者: {元数据.author}")print(f"主题: {元数据.subject}")print(f"创建工具: {元数据.creator}")print(f"生成工具: {元数据.producer}")这些信息有时候能帮你快速了解文档来源,特别适合整理大量文件时使用。
进阶小技巧 💡
如果你经常处理财务报表、研究论文,可以试试这个组合技:
import pdfplumberimport pandas as pd# 一次性提取所有页面的所有表格所有表格 = []with pdfplumber.open("多表格文档.pdf") as pdf:for i, 页面 inenumerate(pdf.pages): 表格 = 页面.extract_tables()if 表格:for j, 表 inenumerate(表格): df = pd.DataFrame(表) 所有表格.append(df) df.to_excel(f"第{i+1}页_表{j+1}.xlsx", index=False)print(f"总共提取了{len(所有表格)}个表格")这段代码会自动把PDF里所有的表格都提取出来,分别保存成Excel文件,省时省力!

同类项目对比 📊
市面上PDF处理工具不少,我帮你对比一下:
简单来说:
如果你只是偶尔处理一两个PDF,在线工具更方便 如果你经常处理PDF且预算充足,Adobe是成熟选择 如果你需要批量处理、表格提取、自动化流程,或者注重隐私安全,那这个Python工具包绝对是最佳选择!

写在最后 📝
看到这里,你已经掌握了用Python处理PDF的核心技能!
回顾一下,你能做到这些事:✅ 提取任意页面的文字和表格✅ 合并多个PDF文件✅ 拆分出你需要的页面✅ 旋转调整页面方向✅ 读取文档元数据
而且所有操作都在你的电脑本地完成,不用担心文件上传到云端的安全风险。
记住这三个核心库:
pypdf:负责基础操作(合并、拆分、旋转、提取元数据) pdfplumber:专攻复杂表格提取 pandas:把表格保存成Excel
下次再遇到PDF处理的难题,别急着手动复制粘贴,花5分钟写几行Python代码,让电脑替你干活!
如果你觉得这篇文章对你有帮助,欢迎转发给你的同事和朋友,让他们也告别PDF处理焦虑。有什么问题也可以在评论区留言,我会尽力解答~
现在,去试试用这个神器处理一个你手头的PDF吧!相信我,你会回来感谢我的😉
夜雨聆风