每天上班最头疼的就是一堆PDF文件要整理。比如公司发来的合同、扫描的发票、学生时代的论文资料,动不动就几十页,手动拆分、合并、提取文字,费眼睛又费时间。其实,用几行Python脚本就能搞定这些事,省下的时间喝杯咖啡不香吗?
安装工具:PyPDF2 和 pdfplumber
Python里有两个常用的库,PyPDF2 能处理PDF的合并、拆分、加密,pdfplumber 更擅长从PDF中精准提取文字和表格。先装上它们:
pip install PyPDF2 pdfplumber
合并多个PDF为一个文件
比如你把一本书每章保存成单独的PDF,现在想合成一本完整的。写个脚本自动完成:
import PyPDF2
import os
merger = PyPDF2.PdfMerger()
for filename in os.listdir('./chapters'):
if filename.endswith('.pdf'):
merger.append(f'./chapters/{filename}')
merger.write('full_book.pdf')
merger.close()
只要把所有章节PDF放进叫“chapters”的文件夹,运行脚本,立刻生成一本完整的PDF。
提取PDF中的文字内容
有些PDF是扫描件,文字不能复制。但如果是清晰的电子版,可以用pdfplumber快速提取。比如你想把一份产品说明书里的参数抄进Excel:
import pdfplumber
with pdfplumber.open('manual.pdf') as pdf:
page = pdf.pages[0] # 读第一页
text = page.extract_text()
print(text)
运行后,页面上的文字就直接输出了,复制粘贴到别的地方就行。
加密PDF防止乱传
有时候要发个重要PDF给同事,又怕被随意转发。加个密码最稳妥:
import PyPDF2
pdf_writer = PyPDF2.PdfWriter()
with open('report.pdf', 'rb') as file:
pdf_reader = PyPDF2.PdfReader(file)
for page in pdf_reader.pages:
pdf_writer.add_page(page)
with open('locked_report.pdf', 'wb') as output:
pdf_writer.encrypt('1234') # 设置密码
pdf_writer.write(output)
这样生成的 locked_report.pdf 打开时就得输入密码,安全多了。
这些脚本一次写好,以后反复用。家里老人收了一堆水电账单PDF,也能帮你整得明明白白。技术不是程序员专属,谁都能拿来让生活更轻松。