首页 > Python资料 博客日记
通过Python将PDF转为文本,快速提取PDF中的文字
2024-08-04 23:00:05Python资料围观108次
这篇文章介绍了通过Python将PDF转为文本,快速提取PDF中的文字,分享给大家做个参考,收藏Python资料网收获更多编程知识
快速高效地从PDF文档中提取信息对于专业人士来说非常重要。处理大量PDF文件时,将PDF转换为可编辑的文本格式可以节省时间和精力。而强大的Python语言正是在这些方面发挥其作用。利用Python中丰富的API,我们可以轻松在Python程序中将PDF转换为文本(txt文件),实现PDF文字的轻松提取。
本文将展示如何使用Python进行PDF到文本的转换,发挥Python在PDF文件处理中的作用。本文包括以下主题:
本文所使用的转换方法需要用到Spire.Doc for Python,可从官网下载或通过PyPI安装:pip install Spire.Doc
使用Python转换PDF为文本的步骤
在我们开始使用Python将PDF转换为文本之前,让我们先了解一下转换可以为我们提供的主要优势:
- 可编辑:将PDF转换为文本使文档操作者能够更轻松地编辑文档,文本文件可以在大多数设备上打开和编辑。
- 可访问性:与PDF相比,文本文件通常更易于访问。无论是电脑还是移动设备,都可以轻松地查看文本文件。
- 与其他应用程序的集成及数据共享:文本文件可以无缝地集成到各种应用程序和工作流程中,实现数据在程序之间的共享。
使用Python将PDF文档转换为文本文件的步骤:
- 导入模块。
- 创建PdfDocument类的对象,并使用 LoadFromFile() 方法加载PDF文件。
- 创建PdfTextExtractOptions类的对象,并设置文本提取选项,包括提取所有文本、显示隐藏文本、仅提取指定区域的文本以及简单提取。
- 使用 PdfDocument.Pages.get_Item() 方法获取文档中的页面,并基于每个页面创建 PdfTextExtractor 对象,使用 Extract() 方法提取页面上的文本,并指定选项。
- 将提取的文本保存为文本文件,并关闭 PdfDocument 对象。
Python将PDF转换为文本但不保留布局
当使用简单提取方法从PDF中提取文本时,程序将不保留空白区域,并跟踪每个字符串的当前Y位置,如果Y位置发生变化,就在输出结果中插入换行符。
from spire.pdf import PdfDocument
from spire.pdf import PdfTextExtractOptions
from spire.pdf import PdfTextExtractor
# 创建PdfDocument类的对象并加载PDF文件
pdf = PdfDocument()
pdf.LoadFromFile("示例.pdf")
# 创建一个字符串对象来存储文本
extracted_text = ""
# 创建PdfExtractor对象
extract_options = PdfTextExtractOptions()
# 设置使用简单提取方法
extract_options.IsSimpleExtraction = True
# 循环遍历文档中的页面
for i in range(pdf.Pages.Count):
# 获取页面
page = pdf.Pages.get_Item(i)
# 创建PdfTextExtractor对象,并将页面作为参数传递
text_extractor = PdfTextExtractor(page)
# 从页面中提取文本
text = text_extractor.ExtractText(extract_options)
# 将提取的文本添加到字符串对象中
extracted_text += text
# 将提取的文本写入文本文件
with open("output/PDF转文本.txt", "w") as file:
file.write(extracted_text)
pdf.Close()
原文档
输出的文本文件*
Python将PDF转换为文本并保留布局
当使用默认提取方法从PDF中提取文本时,程序将逐行提取文本,包括空白。
from spire.pdf import PdfDocument
from spire.pdf import PdfTextExtractOptions
from spire.pdf import PdfTextExtractor
# 创建PdfDocument类的对象并加载PDF文件
pdf = PdfDocument()
pdf.LoadFromFile("示例.pdf")
# 创建一个字符串对象来存储文本
extracted_text = ""
# 创建PdfExtractor对象
extract_options = PdfTextExtractOptions()
# 循环遍历文档中的页面
for i in range(pdf.Pages.Count):
# 获取页面
page = pdf.Pages.get_Item(i)
# 创建PdfTextExtractor对象,并将页面作为参数传递
text_extractor = PdfTextExtractor(page)
# 从页面中提取文本
text = text_extractor.ExtractText(extract_options)
# 将提取的文本添加到字符串对象中
extracted_text += text
# 将提取的文本写入文本文件
with open("output/提取的文本(保留排版).txt", "w") as file:
file.write(extracted_text)
pdf.Close()
输出的文本文件
Python将指定的PDF页面区域转换为文本
from spire.pdf import PdfDocument
from spire.pdf import PdfTextExtractOptions
from spire.pdf import PdfTextExtractor
from spire.pdf import RectangleF
# 创建PdfDocument类的对象并加载PDF文件
pdf = PdfDocument()
pdf.LoadFromFile("示例.pdf")
# 创建PdfExtractor对象
extract_options = PdfTextExtractOptions()
# 设置提取特定页面区域
extract_options.ExtractArea = RectangleF(50.0, 220.0, 700.0, 230.0)
# 获取页面
page = pdf.Pages.get_Item(0)
# 创建PdfTextExtractor对象,并将页面作为参数传递
text_extractor = PdfTextExtractor(page)
# 从页面中提取文本
extracted_text = text_extractor.ExtractText(extract_options)
# 将提取的文本写入文本文件
with open("output/PDF页面区域转文本.txt", "w") as file:
file.write(extracted_text)
pdf.Close()
输出的文本文件
总结
在本文中,我们探讨了Python在PDF转文本中的应用。参照文中的操作步骤及代码示例,我们可以在Python程序中实现快速的PDF到文本的转换。如果在使用Spire.PDF for Python的过程中遇到任何问题,可以通过Spire产品论坛获取技术支持。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
相关文章
最新发布
- 光流法结合深度学习神经网络的原理及应用(完整代码都有Python opencv)
- Python 图像处理进阶:特征提取与图像分类
- 大数据可视化分析-基于python的电影数据分析及可视化系统_9532dr50
- 【Python】入门(运算、输出、数据类型)
- 【Python】第一弹---解锁编程新世界:深入理解计算机基础与Python入门指南
- 华为OD机试E卷 --第k个排列 --24年OD统一考试(Java & JS & Python & C & C++)
- Python已安装包在import时报错未找到的解决方法
- 【Python】自动化神器PyAutoGUI —告别手动操作,一键模拟鼠标键盘,玩转微信及各种软件自动化
- Pycharm连接SQL Sever(详细教程)
- Python编程练习题及解析(49题)
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Anaconda版本和Python版本对应关系(持续更新...)
- Python与PyTorch的版本对应
- Windows上安装 Python 环境并配置环境变量 (超详细教程)
- Python pyinstaller打包exe最完整教程