python处理pdf文件

简介

对pdf文件的常见操作需求包括读取pdf中的文字图表,新建或截取pdf,pdf与其他格式的转换等。通过代码可更灵活的实现各种功能需求。在众多可处理pdf的包中选择PyMuPDF进行介绍。PyMuPDF是MuPDF的python接口,可处理 的文件格式后缀包括 pdf,xps,oxps,cbz,fb2, epub。另外也可处理10余种常见图片格式,包括:png,jpg,bmp,tiff等。

具体功能

  • 搜索文本
  • 提取文本和图片
  • 转换格式为 html,xml,json,txt
  • 结合Tesseract使用,可对图片进行OCR 文本提取
  • 可作为图片转换器,将读入的文件转换为PNG,PNM,PAM或 Photoshop文件,同时也可以与PIL/Pillow结合使用进行图片操作
  • 对于pdf文件,可进行文件和页面的创建,合并和拆分。同时页面可进行插入,删除,替换或重新排列等操作
  • 可将pdf重新格式化,以使其能够双面打印,色调分离,添加logo或水印等
  • 支持加密,解密,权限设置等密码保护措施

安装

pip install pymupdf 或 PyMuPDF
由于历史原因,导入PyMuPDF 包的语句为:
import fitz

常用操作

以下以 1.18.17 版本为例介绍。

  1. 读取pdf文件

    可直接打开支持的文件类型,输入文件名即可。也可以打开已经由其他工具读取的文件流。打开后,可对其中的页面进行操作。

doc = fitz.open(filename)
# 先从zip压缩文件读取,再使用fitz打开
doc = fitz.open(stream=zfile.read(pdf), filetype="pdf") 
# 获取pdf中页面
first_page = doc.load_page(0)
# 或直接遍历
for page in doc:
	# do something
  1. 提取pdf中全部文本或搜索文本

    遍历所有页面,获取文本。搜索文本只能在单个页面上进行,可通过遍历获取全部结果。

texts = ""
with fitz.open
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值