python中 fitz 库和 pdfplumber 混合操作
参考:Python+pymupdf处理PDF文档案例6则 - 云+社区 - 腾讯云 (tencent.com)
参考原文有一些函数过时了,本文对其进行更新
环境
import fitz
import pdfplumber
母文件地址
fn = r'D:\Desktop\highlight_test.pdf'
一、提取pdf文件中的文本,写入文本文件
方法一:plumber 库
with pdfplumber.open("D:\\Desktop\\highlight_test.pdf") as pdf:for page in pdf.pages:text = page.extract_text()txt_file = open("D:\\Desktop\\a.txt",mode='a',encoding='utf-8')txt_file.write(text)
方法二:fitz 库
with fitz.open(fn) as doc,\open('D:\\Desktop\\aa.txt','w',encoding='utf8') as fp:for page in doc :fp.write(page.get_text()+'\n')
二、合并pdf文件
with fitz.open() as fpMerge:for t in (fn,)*3:with fitz.open(t) as fpSrc:fpMerge.insert_pdf(fpSrc)fpMerge.save('D:\\Desktop\\合并结果.pdf')
三、把pdf文件的每一页转换为独立的图片文件
with fitz.open(fn) as doc:for page in doc:mat = fitz.Matrix(2,2)pix = page.get_pixmap(matrix= mat)pix.save(f'{page.number}.png')
四、将pdf文件以图片形式保存为pdf
with fitz.open() as fpMerge:for pic in ('0.png',)*5:t = fitz.open('pdf',fitz.open(pic).convert_to_pdf())fpMerge.insert_pdf(t)fpMerge.save('D:\\Desktop\\内容转换为图片.pdf')
五、提取pdf文件中的图片
with fitz.open(fn) as doc:for page in doc:for item in page.get_images():xref = item[0]img = doc.extract_image(xref)with open(f'{xref}.{img["ext"]}','wb') as fpPic:fpPic.write(img['image'])
六、添加文本注释为关键词添加高亮、删除线、下划线注释
word1,word2,word3 = ('高亮','删除线','注释')
with fitz.open(fn) as doc:for page in doc:page.add_text_annot((200,200),'文本注释')for txt in page.search_for(word1):page.add_highlight_annot(txt)for txt in page.search_for(word2):page.add_strikeout_annot(txt)for txt in page.search_for(word3):page.add_underline_annot(txt)doc.save('D:\\Desktop\\添加注释.pdf')
如果对高亮部分进行颜色的修改(高亮部分颜色是遵循RGB标准):
with fitz.open("D:\\Desktop\\文字.pdf") as doc:for page in doc:for txt in page.search_for(w):highlight = page.add_highlight_annot(txt)highlight.set_colors(stroke=[1, 1, 1])highlight.update()doc.save('D:\\Desktop\\add_annotion.pdf')
这里 stroke 其实就代表了,[ 1*255, 1*255,1*255 ] 所以,[1,1,1 ] 在这里是清除高亮的效果。
python中 fitz 库和 pdfplumber 混合操作相关推荐
- 通过Python的fitz库提取pdf中的图片
文章目录 前言 一.fitz库是什么? 二.安装fitz库 三.查看fitz库版本 四.pymupdf库是什么? 五.安装pymupdf库 六.查看pymupdf库版本 七.fitz和pymupdf是 ...
- Python 中MNE库去伪迹(ICA)案例的逐句解析
本文是在阅读博主zhoudapeng01的文章Python 中MNE库去伪迹(ICA)_zhoudapeng01的博客-CSDN博客_ica mne后做的一个翻译工作. 主要介绍的还是ICA,需要了解 ...
- python opencv创建图像_使用Python中OpenCV库创建一幅图片的RGB通道图片
我们知道,在使用PhotoShop进行图片的抠取.创建和存储选区.存储图像的色彩资料等复杂操作时,经常会用到一个功能,那就是"RGB"通道,它能从三原色角度对一幅图片进行精准处理. ...
- python中requests库的用途-数据爬虫(三):python中requests库使用方法详解
有些网站访问时必须带有浏览器等信息,如果不传入headers就会报错,如下 使用 Requests 模块,上传文件也是如此简单的,文件的类型会自动进行处理: 因为12306有一个错误证书,我们那它的网 ...
- Python中os库的使用
文章目录 Python中os库的使用 1. path子库 1.1 获取绝对路径 1.2 归一化path的表示形式 1.3 得到文件的相对路径 1.4 获取目录名 1.5 获取文件名 1.6 路径组合 ...
- python 颜色_如何使用python中matplotlib库分析图像颜色
用代码分析图像可能很困难.你如何使代码"理解"图像的上下文? 通常,使用AI分析图像的第一步 是找到主要颜色.在如何使用python中matplotlib库分析图像颜色中,我们将使 ...
- 使用python中PIL库进行切图时候出现了图片全黑
使用PIL的Image切图时候图片全黑 不知道大家有没有遇见这样得问题,使用python中PIL库进行切图时候出现了图片全黑得现象 今天写了个切图得代码,但是得到得图片是全黑的,像这样的情况: 不知道 ...
- 详解Python中pyautogui库的最全使用方法
这篇文章主要介绍了详解Python中pyautogui库的最全使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值 在使用Python做脚本的话,有两个库可以使用,一个 ...
- Python中pyautogui库的最全使用方法
Python中pyautogui库的最全使用方法 Python中pyautogui库的最全使用方法 常用操作 鼠标操作 键盘操作 弹窗操作 图像操作 参考资料 Python中pyautogui库的最全 ...
最新文章
- We7 从这里开始---安装we7
- 基于图文界面的蓝牙扫描工具btscanner
- 使用fluentd管理docker日志
- .net core之ACG小站爬虫(二)
- document.createElement
- [插头DP自我总结]
- html5新加的元素,HTML5新增元素
- 2018年wine QQ最完美解决方案(多Linux发行版通过测试并稳定运行)
- python俄罗斯方块编码简单_python俄罗斯方块教程-100行代码
- 如何批量保存html,如何批量保存网页信息
- Trafodion建表之使用多温度特性
- buck电路上下管_BUCK/BOOST电路原理
- php datedif,Datedif函数全面解析及BUG分析
- lisp 左手钢筋_左手键配置程序
- 游戏手柄(JoyStick)编程学习笔记(1)
- ept技术_速懂X86虚拟化关键概念 - Intel EPT
- Golang 同步等待组(WaitGroup)
- 設計模式之Visitor
- android多个按钮美化,Android开发学习系列(一)——Android按钮圆角美化
- 怎样知道自己的电脑是否支持GPU?
热门文章
- 在线看奥运----资源大全
- python利用pymannkendall包进行MK(Mann-Kendall)趋势检验
- matlab可以实现从阻抗圆到导纳圆,阻抗匹配与史密斯(Smith)圆图,这是我见过最详尽的版本...
- 用JS实现歌词与播放音乐同步
- SRC-script:挖掘src常用脚本收集
- 破解PDF文件密码?没必要的!
- 初三物理光学知识点总结_初二物理:“光学”知识点总结
- 亿康先达全球董事会多元化追踪报告显示,进展缓慢且微不足道——有必要采取重大行动
- js中的mock操作
- 李沐论文精读系列一: ResNet、Transformer、GAN、BERT