常识小站
第二套高阶模板 · 更大气的阅读体验

用Python脚本处理PDF,生活办公小帮手

发布时间:2025-12-10 02:13:01 阅读:273 次

每天上班最头疼的就是一堆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,也能帮你整得明明白白。技术不是程序员专属,谁都能拿来让生活更轻松。