当前位置: 首页 > news >正文

【Python】PDF文件处理(PyPDF2、borb、fitz)

Python提供了多种方法和库用于处理PDF文件,这些工具可以帮助开发者实现诸如读取、写入、合并、拆分以及压缩等功能。以下是几个常用的Python PDF操作库及其基本用法(PyPDF2、borb、fitz)。
在这里插入图片描述

1. PyPDF2

PyPDF2 是一个功能强大的库,支持各种常见的PDF操作,例如读取、合并、分割、旋转页面等。尽管该库已经停止更新,但它仍然被广泛使用。

pip install pypdf2

下面是一个简单的例子展示如何使用 PyPDF2 合并两个PDF文件:

import os
from PyPDF2 import PdfMergermerger = PdfMerger()
files = ["file1.pdf", "file2.pdf"]for file in files:if os.path.exists(file):merger.append(file)merger.write("merged_file.pdf")
merger.close()

2. borb

borb 是另一个现代且易于使用的PDF库,它允许用户创建、修改现有的PDF文档,并提供了一些高级特性如加密和签名。以下是如何打开现有PDF文件并保存更改的一个示例:

pip install borb
from borb.pdf.reader import SimplePDFReader
from borb.pdf.document import Document
from borb.pdf.writer import Writer# 打开已有PDF文件
with open("example.pdf", "rb") as pdf_in:reader = SimplePDFReader(pdf_in)doc: Document = reader.read()# 修改文档 (此处省略具体修改逻辑)# 将修改后的文档另存为新文件
with open("output.pdf", "wb") as pdf_out:writer = Writer(pdf_out, doc)writer.write()

3. fitz (PyMuPDF)

fitz(也称为 PyMuPDF)能够高效地解析复杂的PDF结构,适合于需要提取图像或者文本的应用场景。此外,它还可以用来转换整个PDF成图片序列。

pip install pymupdf

示例代码如下所示:

import fitz  # 导入模块# 加载目标pdf
doc = fitz.open('input.pdf')# 遍历每一页并将它们转为png格式
for page_num in range(len(doc)):page = doc.load_page(page_num)pix = page.get_pixmap(dpi=300)output_filename = f'page_{page_num}.png'pix.save(output_filename)

4. 处理大尺寸PDF的技术手段

对于较大的PDF文件,可以通过以下几种技术减少其体积:

  • 图片质量调整:降低分辨率或将高清晰度的照片替换为较低版本;
  • 字体优化:移除未使用的字符集或完全不嵌入字体数据;
  • 清理冗余项:去除隐藏层、空白页码区域以及其他无意义的内容;

相关文章:

  • 数据结构和算法
  • 印度股票市场API对接文档
  • 如何通过grep 排除“INTEGER: 1”
  • 中级网络工程师知识点2
  • Don’t Mesh with Me 论文阅读 brep llm
  • 系统架构-面向服务架构(SOA)
  • 【嵌入式开发-SDIO】
  • ResNet残差神经网络的模型结构定义(pytorch实现)
  • 为什么 MySQL 用 B+ 树作为数据的索引,以及在 InnoDB 中数据库如何通过 B+ 树索引来存储数据以及查找数据
  • 使用CubeMX新建SPI读写串行FLASH工程
  • IoT平台和AIoT平台的区别
  • M0芯片的基础篇Timer
  • RSAC 2025观察:零信任+AI=网络安全新范式
  • Python+ffmpeg 实现给视频添加字幕
  • Cut video with ffmpeg
  • 前端如何处理精度丢失问题
  • Python开发系统
  • 比较Facebook与其他社交平台的隐私保护策略
  • http重新为https
  • 电梯称重控制仪功能与绳头板安装(客梯、货梯)关联性分析
  • 国家出口管制工作协调机制办公室部署开展打击战略矿产走私出口专项行动
  • 中国象棋协会坚决支持司法机关依法打击涉象棋行业的违法行为
  • 马上评丨行人转身相撞案:走路该保持“安全距离”吗
  • 上海科创“八杰”赋能新兴产业链:硬核科技,形成良好盈利模式
  • 戴维·珀杜宣誓就任美国驻华大使
  • 4月深圳新房、二手房成交同比均上涨,“5月有望延续积极向好的发展态势”