我们接触到的很多文档资料都是以pdf格式存在的,比如:论文,技术文档,标准文件,书籍等。pdf格式使得用机器从中提取信息格外困难。
为了解决这个问题,我找到了几种解决方案,最后选择了python上的pdfplumber库,安装和使用都相对比较方便,效果也还不错,所以下面介绍这个库的安装与使用。
安装
我的电脑配置环境: Win10+python3.6
和许多库一样,其基本安装只需要pip就可以了。
pip install pdfplumber
不过本库还提供了图形Debug功能,可以获得PDF页面的截图,并且用方框框起识别到的文字或表格,帮助判断PDF的识别情况,并且进行配置的调整。【具体例子在后面附上。】
要使用这个功能,还需要安装ImageMagick (特别注意,是6.X版本而不是最新的7.X版本。下载地址如下:https://legacy.imagemagick.org/script/binary-releases.php#windows )
按照官网的指示,理论上安装了这个就可以了,不过,我在使用to_image函数输出图片时,遇到了DelegateException。后来发现,还需要安装另一个软件才能够解决问题。
GhostScript: https://www.ghostscript.com/download/gsdnld.html 【注意,一定要下载32位版本,哪怕Windows和python的版本是64位的。】
然后就大功告成了!
基本使用
本库最重要的应用是提取页面上的文本和表格,用法如下:
import pdfplumber
import pandas as pd
with pdfplumber.open("path/to/file.pdf") as pdf:
first_page = pdf.pages[0]
# 获取文本,直接得到字符串,包括了换行符【与PDF上的换行位置一致,而不是实际的“段落”】
print(first_page.extract_texts())
# 获取本页全部表格,也可以使用extract_table()获得单个表格
for table in p0.extract_tables():
#得到的table是嵌套list类型,转化成DataFrame更加方便查看和分析
df = pd.DataFrame(table[1:], columns=table[0])
print(df)
1
2
3
4
5
6
7
8
9
10
11
12
pdfplumber还可以获得页面上的所有单词、直线、方格、乃至曲线的位置信息,具体可以看看官网的说明:https://github.com/jsvine/pdfplumber
图形展示
最后,附上官网的一个示例jupyter notebook,从这个例子中可以看到其图形展示的功能和更多的用法:
---------------------
作者:blmoistawinde
来源:CSDN
原文:https://blog.csdn.net/blmoistawinde/article/details/82051915
版权声明:本文为博主原创文章,转载请附上博文链接!
相关推荐
Python中的pdfplumber库是一个非常实用的工具,用于读取PDF文档中的文本和表格数据,尤其在处理含有结构化信息的PDF时效率很高。在这个场景中,它被用来从PDF文件中提取数据,并将这些数据写入Excel表格,这对于数据...
本文旨在探讨如何使用Python有效地读取PDF中的文本,并解决多栏布局的问题。 #### 关键知识点解析 1. **PDF文档的结构与特性** - PDF(Portable Document Format)是一种用于呈现和交换文档的文件格式。 - 它...
- **库介绍**:`pdfplumber` 是一个用于读取PDF文件的Python库,它可以轻松地读取和解析PDF中的文本和表格数据。 - **文档操作**:`python-docx` 库用于创建、修改Microsoft Word文档(.docx)。 #### 代码详解 ```...
PDFPLUMBER是Python编程语言中用于解析PDF文档的一个库,尤其适合提取PDF中的文本、图像和表格数据。这个"pdfplumber-master"压缩包很可能包含了一个完整的PDFPLUMMER库的源代码,以及可能的示例和文档,用于帮助...
在将PDF中的表格转换为Excel时,我们会先将PDF文本解析成合适的数据结构,然后利用`pandas.DataFrame`创建数据帧,最后使用`to_excel`方法将数据帧保存为Excel文件。 实现这个功能的步骤通常包括以下部分: 1. **...
`PyPDF2`是用于读取和操作PDF文件的库,它可以解析PDF内容并提取文本。然而,`PyPDF2`不直接支持表格的识别和处理,因此通常需要配合其他库如`tabula-py`或`pdfplumber`(来自`WeasyPrint`项目)来识别和提取表格。 ...
这个过程可能涉及到解析PDF的结构,处理图像中的OCR(光学字符识别)文本,以及处理表格和列表等内容。 3. **连接翻译API**:注册并获取翻译服务的API密钥,然后在Python代码中设置好相关参数。 4. **发送翻译请求...
本文将详细探讨如何使用Python获取PDF文档中的文字以及嵌入其中的图片中的文字。 首先,提取PDF文档中的纯文字主要涉及到PDF解析。Python中有多个库可以实现这一功能,如PyPDF2、PDFMiner、pdfrw等。PyPDF2是较常用...
PDFminer和pdfplumber是两个常用的Python库,用于解析PDF文件并提取其中的文字和信息。虽然它们都致力于解决同样的问题,但各自有其特点和适用场景。 首先,PDFminer是一个强大的PDF解析库,它提供了对PDF文件的...
本文主要讨论如何使用Python的`pdfplumber`库来高效地提取和转换PDF中的表格数据。`pdfplumber`是一个轻量级的库,专门用于读取PDF文件中的表格和其他文本。 首先,确保已经正确安装了`pdfplumber`。在命令行界面...
以下是对基于Python实现的PDF处理工具的详细知识解析: 我们需要了解Python中的几个关键库,这些库是实现PDF处理的基础: 1. **PyPDF2**:这是一个纯Python库,用于读取和写入PDF文件。它可以提取页面、分割文件、...
在介绍如何使用`pdfplumber`之前,我们先来看看其他几种解析PDF表格的方法: 1. **pdfminer**: 这个库擅长提取PDF中的文字信息,但它将表格解析为纯文本,丢失了原有的格式。 2. **pdf2html**: 可以将PDF转换为HTML...
### Python爬虫PDF大数据采集与挖掘攻略 #### 一、Python爬虫概述 Python爬虫技术是一种自动化工具,用于从互联网上抓取信息。它主要包含三个步骤:发送请求、解析页面以及存储数据。 1. **发送请求**:通过...
然而,PDF文件中的文字往往不是直接可编辑的文本,而是以图像或富文本的形式存在,因此需要专门的工具或库来解析和提取这些文字。 在Python中,有多个库可以用于处理PDF文档,其中最常用的是PyPDF2和PDFMiner。...
在这个场景中,我们关注的是如何使用Python对PDF文档进行文本分析,以评估其可读性。这涉及到多个技术环节,包括PDF解析、文本提取、可读性计算以及可能的数据可视化。 首先,PDF(Portable Document Format)是一...
在编程中,有多种库可以帮助我们解析PDF,如Python的PyPDF2、PDFMiner、pdfplumber,Java的iText,JavaScript的PDF.js等。这些库提供了API,可以方便地读取、解析和操作PDF文件。 3. 文本提取 PDF中的文本通常被...
- 使用pdfplumber库:这个库专注于从PDF中提取数据,如表格和文本,非常适合数据抓取任务。 学习这些库的使用,可以帮助你自动化处理日常办公文档,如批量修改Excel数据、生成报告、从PDF中提取信息等。Python的...
6. **合并与拆分**:可以使用`PdfFileWriter.addPage()`将一个PDF的页面添加到另一个PDF中,或者使用`PdfFileReader.get_pages()`获取所有页面,然后分别写入新文件以实现拆分。 7. **加密与解密**:PyPDF2提供`set...
此外,`pdfplumber`是一个用于读取PDF表格和文本的库,它比`PyPDF2`更易用且功能强大。它允许你逐行和逐列访问PDF表格中的数据,或者提取特定位置的文本。以下是一个使用`pdfplumber`的例子: ```python import ...
在Python中,我们可以使用`PyPDF2`库读取PDF内容,`PDFMiner`进行更深度的文本分析,或者`pdfplumber`(来自`Tabula-py`)来解析表格数据。 2. **信息识别与分析**:这通常涉及到自然语言处理(NLP)技术。使用`...