通过Python将PDF转为文本,快速提取PDF中的文字

您所在的位置:网站首页 doc批量转为txt 通过Python将PDF转为文本,快速提取PDF中的文字

通过Python将PDF转为文本,快速提取PDF中的文字

2024-05-27 02:13| 来源: 网络整理| 查看: 265

快速高效地从PDF文档中提取信息对于专业人士来说非常重要。处理大量PDF文件时,将PDF转换为可编辑的文本格式可以节省时间和精力。而强大的Python语言正是在这些方面发挥其作用。利用Python中丰富的API,我们可以轻松在Python程序中将PDF转换为文本(txt文件),实现PDF文字的轻松提取。

本文将展示如何使用Python进行PDF到文本的转换,发挥Python在PDF文件处理中的作用。本文包括以下主题:

文章目录 使用Python转换PDF为文本的步骤Python将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()

原文档 PDF转文本

输出的文本文件* PDF转TXT

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()

输出的文本文件 PDF转文本保留布局

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()

输出的文本文件 提取PDF页面区域文字

总结

在本文中,我们探讨了Python在PDF转文本中的应用。参照文中的操作步骤及代码示例,我们可以在Python程序中实现快速的PDF到文本的转换。如果在使用Spire.PDF for Python的过程中遇到任何问题,可以通过Spire产品论坛获取技术支持。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3