在现代办公环境中,pdf 文件作为一种通用的文档格式被广泛使用。无论是合同、报告还是电子书,很多重要信息都储存于 pdf 文件中。因此,从 pdf 文件中提取文本数据的需求也逐渐增加。本文将为大家介绍如何使用 spire.pdf for python 来实现这一功能,具体包括从某一页和从指定区域提取文本。
1. 环境准备
首先,确保你已经安装了 python 和 spire.pdf 的相关库。你可以通过以下命令安装 spire.pdf:
pip install spire.pdf
2. 从指定页面提取文本
2.1 代码示例
以下代码展示了如何从 pdf 文档中的特定页(例如第2页)提取文本:
from spire.pdf.common import *
from spire.pdf import *
# 创建一个 pdfdocument 对象
doc = pdfdocument()
# 加载 pdf 文档
doc.loadfromfile('c:/users/administrator/desktop/terms of service.pdf')
# 创建 pdftextextractoptions 对象并启用全文本提取
extractoptions = pdftextextractoptions()
# 提取所有文本,包括空格
extractoptions.isextractalltext = true
# 获取特定的页面(例如,第2页)
page = doc.pages.get_item(1)
# 创建 pdftextextractor 对象
textextractor = pdftextextractor(page)
# 从页面中提取文本
text = textextractor.extracttext(extractoptions)
# 使用 utf-8 编码将提取的文本写入文件
withopen('output/textofpage.txt', 'w', encoding='utf-8') as file:
file.write(text)
2.2 代码解析
- 创建
pdfdocument对象 :这一步是加载 pdf 文件的第一步。 - 加载 pdf 文档 :使用指定路径加载你要处理的 pdf 文件。
- 配置提取选项 :通过设置
isextractalltext为 true,确保提取所有文本,包括空格。 - 获取特定页面 :
doc.pages.get_item(1)获取的是 pdf 的第二页(索引从0开始)。 - 创建文本提取器并提取文本 :使用
pdftextextractor对象来提取文本。 - 将提取的文本保存为文件 :最终将文本内容保存到指定路径的文件中。
3. 从指定区域提取文本
有时候,仅提取 pdf 中的某一特定区域的文本更加有效。这可以通过定义一个矩形区域来实现。
3.1 代码示例
以下代码将展示如何从 pdf 的指定区域提取文本:
from spire.pdf.common import *
from spire.pdf import *
# 创建一个 pdfdocument 对象
doc = pdfdocument()
# 加载 pdf 文档
doc.loadfromfile('c:/users/administrator/desktop/terms of service.pdf')
# 获取特定的页面(例如,第2页)
page = doc.pages.get_item(1)
# 创建 pdftextextractor 对象
textextractor = pdftextextractor(page)
# 创建 pdftextextractoptions 对象
extractoptions = pdftextextractoptions()
# 定义提取的矩形区域
# rectanglef(left, top, width, height)
extractoptions.extractarea = rectanglef(0.0, 100.0, 890.0, 80.0)
# 从指定区域提取文本,保留空格
text = textextractor.extracttext(extractoptions)
# 使用 utf-8 编码将提取的文本写入文件
withopen('output/textofrectangle.txt', 'w', encoding='utf-8') as file:
file.write(text)
3.2 代码解析
- 加载 pdf 文件 :与之前相同,首先加载 pdf 文档。
- 获取特定页面 :依然使用
doc.pages.get_item(1)来获取第2页。 - 定义提取区域 :通过
rectanglef类来定义一个矩形区域,该区域的左上角坐标为(0, 100),宽度为890,高度为80。 - 执行文本提取 :然后使用
extracttext方法从指定区域提取文本。 - 保存文本 :最后,提取的文本同样保存为 utf-8 编码的文件。
结论
通过以上方法,我们可以方便地从 pdf 文档中提取所需的文本信息。spire.pdf for python 提供的 api 简洁高效,能够满足多种文本提取需求。不论是从全页提取还是从特定区域提取,在实际工作中都能显著提高效率,尤其对于需要处理大量 pdf 文件的场合,使用此工具将使你事半功倍。
到此这篇关于python实现快速从指定页面pdf中提取文本的文章就介绍到这了,更多相关python提取pdf文本内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论