| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 使用python解析pdf文件 -> 正文阅读 |
|
[Python知识库]使用python解析pdf文件 |
使用python解析pdf文件本文主要介绍怎么使用python解析pdf文件 pdf文件格式今天,pdf已经是最常用的数据格式。在1990, Adobe公司定义pdf文档的结构。PDF 格式背后的理念是,传输的数据/文档对于参与通信过程的双方(创建者、作者或发送者以及接收者)来说看起来完全相同。PDF 是 PostScript 格式的继承者,并被标准化为 ISO 32000-2:2017。 处理PDF文件对于 Linux,有强大的命令行工具可用,例如 pdftk 和 pdfgrep。但作为开发人员,基于 Python库构建自己的 PDF 软件, 并可以免费使用,是一件非常令人兴奋的事情。 工具和库Python 相关的 PDF 工具、模块和库有点混乱,需要花点时间弄清楚什么是什么,以及哪些项目是持续维护的。根据我们的调研,以下是最新的库:
下面将重点介绍 PyPDF2 和 PyMuPDF,并介绍如何以最简单的方式提取文本和图像。结合官方文档和其他资源提供的大量示例有助于理解 PyPDF2 的用法。相比之下,官方 PyMuPDF 文档要清晰得多,使用该库的速度要快得多。 使用PyPDF2抽取文字安装PyPDF2
例子1:抽取文档信息和内容
输出结果如下图所示 如上图所示,提取的文本被连续打印。 没有段落或句子分隔。正如 PyPDF2 文档中所述,所有文本数据都是按照它们在页面内容流中提供的顺序返回的,依赖它可能会导致一些奇怪结果。这主要取决于 PDF 文档的内部结构,以及 PDF 编写器进程如何生成 PDF 指令流。 使用PyMuPDF抽取文字安装PyMuPDF
显示文档信息、打印页数和提取 PDF 文档的文本的方式与 PyPDF2 类似(参见例2)。 要导入的模块命名为fitz。 例子2:使用PyMuPDF抽取文档信息和内容
如下图所示,PyMuPDF 的好处在于它保持原始文档结构完整 - 带有换行符的整个段落保持在 PDF 文档中的原样。 使用PyMuPDF 抽取文字是个好的选择!!! 使用PyMuPDF抽取图片PyMuPDF 使用 getPageImageList() 方法简化了从 PDF 文档中提取图像的过程。例子3 基于 PyMuPDF 从pdf中逐页提取 PDF 中的所有图像并将其保存为 PNG 文件。 如果图像具有 CMYK 色彩空间,则首先将其转换为 RGB。 例子3:使用PyMuPDF抽取图片
用几个pdf测试了下,发现会存一些像素全为0的图像 使用PyPDF2将一个PDF文件分割成多个PDF文件例子4:使用PyPDF2将一个PDF文件分割成多个PDF文件
在写入pdf文件时,如果是中文的pdf,写入会报错Illegal character in Name Object,解决方案可参见如下网址(https://blog.csdn.net/python_go/article/details/111187316),亲测有效! 使用PyMuPDF抽取包含指定内容的页这个用例非常实用,工作方式类似pdfgrep。使用 PyMuPDF,脚本返回包含给定搜索字符串的所有页码。页面一个接一个地加载,并在 searchFor() 方法的帮助下检测所有出现的搜索字符串。 如果匹配,则会在标准输出上打印相应的消息。 例子5:使用PyMuPDF抽取包含指定内容的页
总结本文简单介绍如何使用python解析PDF文件,PyMuPDF和PyPDF2是两个常用的python包。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 2:16:06- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |