没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:吉炜炜|2025-06-25 16:16:43.453|阅读 6 次
概述:在 Python 中读取 PDF 文档是实现文档自动化、内容分析和数据提取的基础操作之一。本文将介绍如何使用 Spire.PDF for Python 实现用 Python 读取 PDF 文档。该库提供简单易用、功能强大的API,无需依赖第三方工具。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
在 Python 中读取 PDF 文档是实现文档自动化、内容分析和数据提取的基础操作之一。无论你处理的是合同、报告、发票,还是科研论文,能够通过代码访问 PDF 内容,不仅能节省时间,还能带来更高效的处理流程。
要在 Python 中准确提取 PDF 的文本、表格、图像和元数据,一个稳定、功能完善的 PDF 操作库是关键。本文将介绍如何使用 Spire.PDF for Python 实现用 Python 读取 PDF 文档。该库提供简单易用、功能强大的API,无需依赖第三方工具。
加入Spire技术交流QQ群(125237868),与更多开发者一起提升文档开发技能。
Spire.PDF for Python 是一款功能全面的 PDF 读取库,支持通过 Python 代码提取 PDF 中的文本、表格、图像和文档信息。其主要特点包括:
非常适合希望快速集成 PDF 数据读取功能的开发者。
使用 pip 安装 Spire.PDF for Python:
pip install spire.pdf或安装适用于轻量任务的 Free Spire.PDF for Python:
pip install spire.pdf.free
在读取 PDF 内容之前,需先将其加载到内存中。Spire.PDF 支持从文件路径或内存字节流加载文档,非常适用于处理网页上传或 API 返回的 PDF 数据。
使用 PdfDocument.LoadFromFile() 方法从本地读取 PDF 文件:
from spire.pdf import PdfDocument # 创建一个 PdfDocument 实例 pdf = PdfDocument() # 加载一个 PDF 文档 pdf.LoadFromFile("sample.pdf")
如果不希望将文件保存到磁盘,可以先读取字节数据,并使用 Stream 对象加载:
from spire.pdf import PdfDocument, Stream # 将 PDF 文件读取为字节数组 with open("sample.pdf", "rb") as f: byte_data = f.read() # 使用字节数组创建一个流对象 pdfStream = Stream(byte_data) # 使用流对象创建一个 PdfDocument 实例 pdf = PdfDocument(pdfStream)
提取 PDF 中的文本内容是最常见的需求之一。Spire.PDF 提供简单方法,可获取整篇文档或指定页面中的所有可见文本。
遍历每一页,使用 PdfTextExtractor.ExtractText() 提取内容:
from spire.pdf import PdfDocument, PdfTextExtractor, PdfTextExtractOptions # 创建一个 PdfDocument 实例 pdf = PdfDocument() # 加载一个 PDF 文档 pdf.LoadFromFile("sample.pdf") all_text = "" # 遍历每一页 for pageIndex in range(pdf.Pages.Count): page = pdf.Pages.get_Item(pageIndex) # 创建一个 PdfTextExtractor 实例 text_extractor = PdfTextExtractor(page) # 配置提取选项 options = PdfTextExtractOptions() options.IsExtractAllText = True options.IsSimpleExtraction = True # 从当前页面提取文本 all_text += text_extractor.ExtractText(options) # 打印提取到的全部文本 print(all_text)
如只需获取页面中某一特定区域的文本,可通过设置坐标区域实现:
from spire.pdf import RectangleF, PdfDocument, PdfTextExtractor, PdfTextExtractOptions # 加载 PDF 文件 pdf = PdfDocument() pdf.LoadFromFile("sample.pdf") # 获取第一页 page = pdf.Pages.get_Item(0) # 创建一个 PdfTextExtractor 实例 textExtractor = PdfTextExtractor(page) # 设置提取区域,通过配置 PdfTextExtractOptions options = PdfTextExtractOptions() area = RectangleF.FromLTRB(0, 200, page.Size.Width, 270) # x, y, width, height options.ExtractArea = area options.IsSimpleExtraction = True # 从指定区域提取文本 text = textExtractor.ExtractText(options) print(text)
PDF 中的表格广泛用于财务、账单等场景。借助 Spire.PDF 提供的表格提取器,你可以精准读取页面中的表格内容。
from spire.pdf import PdfDocument, PdfTableExtractor # 加载 PDF 文件 pdf = PdfDocument() pdf.LoadFromFile("sample.pdf") # 创建一个 PdfTableExtractor 实例 table_extractor = PdfTableExtractor(pdf) # 从第一页提取表格 tables = table_extractor.ExtractTable(0) for table in tables: # 获取行数和列数 row_count = table.GetRowCount() column_count = table.GetColumnCount() # 遍历每一行 for i in range(row_count): table_row = [] # 遍历每一列 for j in range(column_count): # 获取单元格文本 cell_text = table.GetText(i, j) table_row.append(cell_text) print(table_row)
PDF 文件常含有徽标、插图或扫描图像。Spire.PDF 支持提取并保存这些嵌入图像,方便后续使用或归档。
from spire.pdf import PdfDocument, PdfImageHelper # 加载 PDF 文件 pdf = PdfDocument() pdf.LoadFromFile("sample.pdf") # 获取第一页 page = pdf.Pages.get_Item(0) # 创建一个 PdfImageHelper 对象 image_helper = PdfImageHelper() # 获取页面上的图像信息 images_info = image_helper.GetImagesInfo(page) # 将页面中的图像保存为图像文件 for i in range(len(images_info)): images_info[i].Image.Save("output/Images/image" + str(i) + ".png")
你可以通过 Spire.PDF 获取文档的元数据信息,如标题、作者、主题和关键词等,有助于文档管理与归档。
from spire.pdf import PdfDocument # 加载 PDF 文件 pdf = PdfDocument() pdf.LoadFromFile("sample.pdf") # 获取文档属性 properties = pdf.DocumentInformation print("标题: " + properties.Title) print("作者: " + properties.Author) print("主题: " + properties.Subject) print("关键词: " + properties.Keywords)
可以。Spire.PDF for Python 提供了读取文本、提取表格、图像和元数据的完整 API,支持结构化内容的精准解析。
当然可以。只需通过 pip 安装,就能在 Jupyter Notebook 中调用 API 读取 PDF 文件、提取文本与图像等内容。
加载文档后,使用 PdfTextExtractor.ExtractText() 方法遍历每一页即可提取所有可见文本。
可以。通过 LoadFromStream() 方法可直接读取字节数据,非常适合处理网页上传或接口返回的临时文件。
借助 Spire.PDF for Python,你可以轻松完成 PDF 文件的读取和处理任务,包括文本、表格、图像和元数据的提取,还可将 PDF 转换为可分析的文本内容,是实现数据采集与文档自动化的理想方案。
————————————————————————————————————————
关于慧都科技:
慧都科技是一家行业数字化解决方案公司,长期专注于软件、油气与制造行业。公司基于深入的业务理解与管理洞察,以系统化的业务建模驱动技术落地,帮助企业实现智能化运营与长期竞争优势。在软件工程领域,我们提供开发控件、研发管理、代码开发、部署运维等软件开发全链路所需的产品,提供正版授权采购、技术选型、个性化维保等服务,帮助客户实现技术合规、降本增效与风险可控。慧都科技E-iceblue的官方授权代理商,提供E-iceblue系列产品免费试用,咨询,正版销售等于一体的专业化服务。E-iceblue旗下Spire系列产品是国产文档处理领域的优秀产品,支持国产化,帮助企业高效构建文档处理的应用程序。
欢迎下载|体验更多E-iceblue产品
获取更多信息请咨询慧都在线客服 ;技术交流Q群(125237868)
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:慧都网在 Python 中读取 PDF 文档是实现文档自动化、内容分析和数据提取的基础操作之一。本文将介绍如何使用 Spire.PDF for Python 实现用 Python 读取 PDF 文档。该库提供简单易用、功能强大的API,无需依赖第三方工具。
持续测试平台Parasoft CTP通过一键克隆、自动配置和独立沙箱等功能,快速构建稳定一致的测试环境,自动适配虚拟资产,安全隔离高风险测试,高效解决传统测试环境搭建难题。
在Aspose.Words for .NET 25.6版本中,引入了一项新功能,允许您将多页文档导出为单个光栅图像。当您需要将文档作为单个可视文件共享或显示时,此功能非常有用。
Parasoft Insure++将代码覆盖率转化为可操作的洞察见解,让开发者能够有针对性地填补测试空白并优化执行效率,从而确保代码的每一个关键环节都经过严格验证。借助Insure++,团队能够从根本上提升软件的质量与可靠性,真正实现“代码测试无死角”。
Spire.PDF for .NET是独立的PDF控件,用于.NET程序中创建、编辑和操作PDF文档
Spire.PDF for WPFSpire.PDF for WPF 是一款让你的app能够读取、写入和操作PDF文档的完全独立的组件,不需要任何第三方组件库。
Spire.PDF for PythonSpire.PDF for Python是一个专业的 PDF 开发组件
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号