首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
操作PDF介绍
打开与保存PDF文档
读取文档与文档尺寸
读取页面和保存页面
合并文档
修改PDF
旋转页面
缩放页面
裁剪页面
提取文本
提取图片
添加水印
查看元数据
更新元数据
加密文档
解密文档
Word转PDF
Excel转PDF
PPT转PDF
PDF转Word
当前位置:
首页>>
技术小册>>
Python与办公-玩转PDF
小册名称:Python与办公-玩转PDF
每个文档页面一般都有一些文本内容,如果需要获取这些文本,可以试一下PageObject对象的extract_text()方法,代码如下: ```bash from PyPDF2 import PdfReader reader = PdfReader("./pdf_ files/练习文档.pdf") page_text_dict = dict() for index,page in enumerate(reader.pages): print(f"当前是第{index}页的内容") page_text = page.extract_text() # print(page_text) page_text_dict.update({index:page_text}) print(page_text_dict) # 输出:{0:'Python 由荷兰......',1:'证明\n兹证明......'} ``` 从PDF练习文档的内容来看,提取的文本并没有什么问题,主要是因为这个文档的内容比较简单。如果文档结构比较复杂,比如说存在各种公式图表,使用了多国语言符号等情况,又或者使用了pypdf2不支持的PDF生成器,那么提取出来的内容就不一定正确了。这也没办法,如果遇到复杂的文档,就算使用专业的PDF编辑软件也不一定能正确提取。还要注意的是,如果文档复杂,则提取出来的文本的顺序也不一定是正确的。 如果对使用pypdf2提取出来的文本不太满意,可以考虑使用其他库试一下,比如说可以使用pymupdf库。pymupdf库的处理速度非常快,而且支持的文档格式很多,比如说PDF、XPS、OpenXPS、CBZ(漫画书)、EPUB(电子书)等。当然,功能强大也意味着要学的东西就多,如果你学又有余力的话可以找一下相关的资料认真享受一番,我这里只演示如何用它提取文本。 首先我们要安装pymupdf,所有第三方的库都要安装才能使用,代码如下: ```bash pip install pymupdf ``` 安装pymupdf库的时候,实际上会安装很多其他的依赖库,但提取文本只用f i tz就够了,看一下怎么提取PDF的文本内容,代码如下: ```bash import fitz pdf = fitz.open("./pdf_ files/练习文档.pdf") page_text_dict = dict() for index,page in enumerate(pdf.pages()): print(f"当前是第{index}页的内容") # print(page_text) page_text = page.get_text() page_text_dict.update({index:page_text}) print(page_text_dict) # 输出:{0:'Python 由荷兰......',1:'证明\n兹证明......'} ``` 虽然你会感觉pymupdf很陌生,但看了上面的代码就会发现其实也并不难,首先是用f i tz.open()打开一个PDF文档,然后访问它的pages()方法获取到所有页面,再遍历这些页面,调用页面的get_text()方法就提取到所有文本了,本身并没有太大的难度。 不管是pypdf2还是pymupdf,又或者是我们之前学过的处理Office文档的各种库,都是通过访问对象的属性或方法获取我们想要的数据,这就是面向对象编程思维的特点。以后遇到了其他没有学过的库也不要担心,先看一下文档或源码,搞清楚它有哪些对象,这些对象又有什么属性和方法,那么这个库就基本上难不住你了。
上一篇:
裁剪页面
下一篇:
提取图片
该分类下的相关小册推荐:
Python合辑7-集合、列表与元组
剑指Python(磨刀不误砍柴工)
Python神经网络入门与实践
Python面试指南
Python机器学习基础教程(下)
剑指Python(万变不离其宗)
Python合辑6-字典专题
Python机器学习基础教程(上)
Python数据分析与挖掘实战(上)
Python合辑13-面向对象编程案例(上)
Python合辑5-格式化字符串
Python合辑3-字符串用法深度总结