PyPDF2基本用法

PyPDF2 是一个纯 Python 库,用于读取、修改和创建 PDF 文件。以下是 PyPDF2 的详细介绍:

安装 PyPDF2

PyPDF2 可以通过 pip 安装:

pip install PyPDF2

PyPDF2 的主要功能

  1. 读取 PDF 文档:获取文档信息,如标题、作者、创建日期等,以及页面数量和页面尺寸。
  2. 提取文本内容:从 PDF 页面提取文本。
  3. 合并 PDF 文档:将多个 PDF 文件合并为一个文件。
  4. 拆分 PDF 文档:将一个 PDF 文件拆分为多个文件。
  5. 旋转页面:支持将页面内容按 90 度的倍数进行旋转。
  6. 裁剪页面:裁剪页面到指定区域。
  7. 添加和删除页面:向 PDF 文档添加新页面或删除现有页面。
  8. 编辑页面内容:添加文字、图片等内容到页面。
  9. 添加水印:向页面添加文字或图片水印。
  10. 加密和解密:对 PDF 文档进行加密和解密,设置密码保护。
  11. 处理表单:读取和填写 PDF 表单数据,创建、修改和删除表单字段。
  12. 元数据处理:设置和修改 PDF 文档的元数据,如标题、作者、主题等。
  13. 书签和链接操作:添加书签到 PDF 文档,实现快速导航;添加超链接到页面。

示例代码

以下是一些使用 PyPDF2 的示例代码:

读取 PDF 信息
import PyPDF2
with open('example.pdf', 'rb') as file:
    pdf = PyPDF2.PdfFileReader(file)
    num_pages = pdf.numPages
    metadata = pdf.getDocumentInfo()
    print("页数:", num_pages)
    print("标题:", metadata.title)
    print("作者:", metadata.author)
提取文本
import PyPDF2
with open('example.pdf', 'rb') as file:
    pdf = PyPDF2.PdfFileReader(file)
    page = pdf.getPage(0)
    text = page.extractText()
    print(text)
合并 PDF
import PyPDF2
merger = PyPDF2.PdfFileMerger()
merger.append('document1.pdf')
merger.append('document2.pdf')
with open('merged_document.pdf', 'wb') as output:
    merger.write(output)
拆分 PDF
import PyPDF2
with open('example.pdf', 'rb') as file:
    pdf = PyPDF2.PdfFileReader(file)
    for page_num in range(pdf.numPages):
        output_pdf = PyPDF2.PdfFileWriter()
        output_pdf.addPage(pdf.getPage(page_num))
        with open(f'page{page_num + 1}.pdf', 'wb') as output_file:
            output_pdf.write(output_file)
添加水印
import PyPDF2
with open('example.pdf', 'rb') as file:
    pdf = PyPDF2.PdfFileReader(file)
    watermark = PyPDF2.PdfFileReader(open('watermark.pdf', 'rb'))
    output_pdf = PyPDF2.PdfFileWriter()
    for page_num in range(pdf.numPages):
        page = pdf.getPage(page_num)
        page.mergePage(watermark.getPage(0))
        output_pdf.addPage(page)
with open('watermarked_document.pdf', 'wb') as output_file:
    output_pdf.write(output_file)

注意事项

  • PyPDF2 不再积极维护,可能不支持最新 PDF 特性。
  • 对于复杂 PDF 结构,PyPDF2 可能无法正确处理。
  • 考虑使用其他库,如 PyMuPDF(fitz)、pdfplumber 或 PDFMiner,以获得更好的兼容性和功能。

PyPDF2 提供了简单直观的 API,适合进行基本的 PDF 操作和自动化任务。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值