Python提取PDF文本和图片,以及提前PDF页面中指定矩形区域的文本
前言
从PDF中提取内容能帮助我们获取文件中的信息,以便进行进一步的分析和处理。此外,在遇到类似项目时,提取出来的文本或图片也能再次利用。要在Python中通过代码提取PDF文件中的文本和图片,可以使用 Spire.PDF for Python 这个第三方库。具体操作方法查阅下文。
- Python 提取PDF文本
- Python 提取PDF页面中指定矩形区域的文本
- Python 提取PDF图片
安装 Spire.PDF for Python
本文中用到的Python PDF库支持在各种 Python 程序中创建、读取、编辑、转换和保存 PDF 文档。要安装此产品,可使用以下 pip 命令。
pip install Spire.PDF
要了解详细安装教程,参考: 如何在 VS Code 中安装 Spire.PDF for Python
使用 Python 提取PDF文本
Spire.PDF for Python 提供的 PdfPageBase.ExtractText() 方法能提取一个 PDF 页面中文本。根据你的具体需求,你可以选择仅提取某页中的文本,或者遍历所有页面以提取整个PDF文件中的文本。完整Python代码如下:
from spire.pdf import \*
from spire.pdf.common import \*# 创建PdfDocument类的实例
pdf = PdfDocument()# 加载PDF文档
pdf.LoadFromFile("大数据.pdf")# 创建一个TXT文件来保存提取的文本
extractedText = open("Output/提取文本.txt", "w", encoding="utf-8")# 遍历文档的每一页
for i in range(pdf.Pages.Count):# 获取页面page = pdf.Pages.get\_Item(i)# 从页面提取文本text = page.ExtractText()# 将文本写入TXT文件extractedText.write(text + "\\n")extractedText.close()
pdf.Close()

使用 Python 提取PDF页面中指定矩形区域的文本
如果你只需要提取某个PDF页面中指定区域的文本,你可以指定一个矩形范围然后使用 PdfPageBase.ExtractText(RectangleF rectangleF) 方法提取其中的文本内容。完整Python代码如下:
from spire.pdf import \*
from spire.pdf.common import \*# 创建PdfDocument类的对象
pdf = PdfDocument()# 加载PDF文档
pdf.LoadFromFile("大数据.pdf")# 获取第一页
page = pdf.Pages.get\_Item(0)# 从页面的指定矩形区域提取文本
text = page.ExtractText(RectangleF(0.0, 400.0, 770.0, 180.0))# 将提取的文本保存到TXT文件中
extractedText = open("Output/PDF文本.txt", "w", encoding="utf-8")
extractedText.write(text)
extractedText.close()
pdf.Close()

使用 Python 提取PDF图片
除了提取文本外,Spire.PDF for Python 还提供了 PdfPageBase.ExtractImages() 方法来提取PDF文件中的图片。要提取一个PDF文件中的所有图片并保存到指定路径,参考以下Python代码。
from spire.pdf import \*
from spire.pdf.common import \*# 创建PdfDocument类的实例
pdf = PdfDocument()# 加载PDF文档
pdf.LoadFromFile("大数据.pdf")# 创建一个列表来存储图篇
images = \[\]# 遍历文档的每一页
for i in range(pdf.Pages.Count):# 获取页面page = pdf.Pages.get\_Item(i)# 从页面提取图片并存储在创建的列表中for img in page.ExtractImages():images.append(img)# 保存图像
i = 0
for image in images:i += 1image.Save("Output/图片/图片-{0:d}.png".format(i), ImageFormat.get\_Png())pdf.Close()

后话
如果你也喜欢编程,想通过学习Python获取更高薪资,这里给大家分享一份Python学习资料。
👉Python所有方向的学习路线👈
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取)

👉Python学习视频600合集👈

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
👉Python70个实战练手案例&源码👈

👉Python副业兼职路线&方法👈

👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以直接下方领取
【保证100%免费】

相关文章:
Python提取PDF文本和图片,以及提前PDF页面中指定矩形区域的文本
前言 从PDF中提取内容能帮助我们获取文件中的信息,以便进行进一步的分析和处理。此外,在遇到类似项目时,提取出来的文本或图片也能再次利用。要在Python中通过代码提取PDF文件中的文本和图片,可以使用 Spire.PDF for Python 这个…...
C#实现边缘锐化(图像处理)
在 C# 中进行图像的边缘锐化,可以通过卷积滤波器实现。边缘锐化的基本思想是通过卷积核(也称为滤波器或掩模)来增强图像中的边缘。我们可以使用一个简单的锐化核,例如: [ 0, -1, 0][-1, 5, -1][ 0, -1, 0]这个卷积核…...
ffmpeg windows系统详细教程
视频做预览时黑屏,但有声音问题解决方案。 需要将 .mp4编成H.264格式的.mp4 一般上传视频的站点,如YouTube、Vimeo 等,通常会在用户上传视频时自动对视频进行转码,以确保视频能够在各种设备和网络条件下流畅播放。这些网站通常…...
【单片机】MSP430G2553单片机 Could not find MSP-FET430UIF on specified COM port 解决方案
文章目录 MSP430G2553开发板基础知识解决办法如何实施解决办法4步骤一步骤二步骤三 MSP430G2553开发板基础知识 MSP430G2553开发板如下图,上半部分就是UIF程序下载调试区域的硬件。个人觉得MSP430G2553开发板的这个部分没有做好硬件设计,导致很多系统兼…...
每日一题——力扣104. 二叉树的最大深度(举一反三+思想解读+逐步优化)四千字好文
一个认为一切根源都是“自己不够强”的INTJ 个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数 目录 我的写法 代码功能 代码结构 时间复杂度分析 空间复杂度分析 总结 我要更强 优化方法:迭代&…...
wpf textbox 有焦点 导致后台更新 前台不跟着改变
这个问题可能是由于 WPF 的数据绑定机制导致的。当 TextBox 有焦点时,它会独立于数据绑定进行更新,这可能会导致前台界面不能及时反映后台数据的变化。 1.使用 UpdateSourceTrigger 属性: 在数据绑定时,将 UpdateSourceTrigger 属性设置为 PropertyChanged。这样当 TextBox 的…...
数字化物资管理系统的未来:RFID技术的创新应用
在信息化和智能化不断发展的背景下,物资管理系统的数字化转型已成为各行各业关注的焦点。RFID技术作为一种先进的物联网技术,通过全面数字化实现物资信息的实时追踪和高效管理,为企业的物资管理提供了强有力的支持。 首先,RFID技…...
【docker】常用指令-表格整理
以下列出的指令是Docker中常用的命令,但并不是全部。Docker的指令非常丰富,可以根据具体的需求和场景选择合适的指令。同时,每个指令都有很多选项和参数可以使用,可以通过 docker COMMAND --help 来获取更详细的信息。 一、容器命…...
洛谷——P2824 排序
题目来源:[HEOI2016/TJOI2016] 排序 - 洛谷https://www.luogu.com.cn/problem/P2824 问题思路 本文介绍一种二分答案的做法,时间复杂度为:(nm)*log(n)*log(n).本题存在nlog(n)的做法,然而其做法没有二分答案的做法通俗易懂. 默认读…...
echart在线图表demo下载直接运行
echart 全面的数据可视化图表解决方案 | 折线图、柱状图、饼图、散点图、水球图等各类图表展示 持续更新中 三色带下表题速度仪表盘 地图自定义图标 动态环形图饼状图 动态水波动圆形 多标题指针仪表盘 温度仪表盘带下标题 横向柱状图排名 环形饼状图 双折线趋势变化...
MLX5_SET_TO_ONES宏解析
看代码时,遇到一个非常复杂的宏MLX5_SET_TO_ONES,这个宏的主要作用是对特定的数据结构置位,宏的上下文如下: #define __mlx5_nullp(typ) ((struct mlx5_ifc_##typ##_bits *)0) #define __mlx5_bit_off(typ, fld) (offsetof(struc…...
SQL Server入门-SSMS简单使用(2008R2版)-1
环境: win10,SQL Server 2008 R2 参考: SQL Server 新建数据库 - 菜鸟教程 https://www.cainiaoya.com/sqlserver/sql-server-create-db.html 第 2 课:编写 Transact-SQL | Microsoft Learn https://learn.microsoft.com/zh-cn/…...
高考专业抉择探索计算机专业的未来展望及适合人群
身份:一位正在面临人生重要抉择的高考生,一位计算机行业从业者 正文: 随着2024年高考落幕,我与数百万高三学生一样,又将面临人生中的重要抉择:选择大学专业。对于许多学生来说,计算机科学…...
windows安装spark
在 Windows 上安装 Spark 并进行配置需要一些步骤,包括安装必要的软件和配置环境变量。以下是详细的步骤指南: 步骤一:安装 Java 下载和安装 Java Development Kit (JDK) 到 Oracle JDK 下载页面 或 OpenJDK 下载页面 下载适合你系统的 JDK。…...
【信息学奥赛】CSP-J/S初赛03 计算机网络与编程语言分类
第1节 计算机网络基础 1.1 网络的定义 所谓计算机网络,就是利用通信线路和设备,把分布在不同地理位置上的多台计算机连 接起来。计算机网络是现代通信技术与计算机技术相结合的产物。 网络中计算机与计算机之间的通信依靠协议进行。协议是计算机收、发…...
python20 函数的定及调用
函数的定及调用 函数是将一段实现功能的完整代码,使用函数名称进行封装,通过函数名称进行调用。以此达到一次编写,多次调用的目的 用 def 关键字来声明 函数 格式: def 函数名(参数列表):函数体[:return 返回值是可选的࿰…...
【Android WebView】WebView基础
一、简介 WebView是一个基于webkit引擎、展现web页面的控件。Android的Webview在低版本和高版本采用了不同的webkit版本内核,4.4后直接使用了Chrome。 二、重要类 以WebView类为基础,WebSettings、WebViewClient、WebChromeClient为辅助共同完成安卓段加…...
Python酷库之旅-第三方库openpyxl(03)
目录 一、 openpyxl库的由来 1、背景 2、起源 3、发展 4、特点 4-1、支持.xlsx格式 4-2、读写Excel文件 4-3、操作单元格 4-4、创建和修改工作表 4-5、样式设置 4-6、图表和公式 4-7、支持数字和日期格式 二、openpyxl库的优缺点 1、优点 1-1、支持现代Excel格式…...
电脑丢失dll文件一键修复的方法有哪些?分析dll文件修复的多种策略
我们经常会遇到各种各样的问题,其中之一就是DLL文件的丢失。DLL文件(动态链接库)是操作系统和应用程序正常运行所必需的文件,当这些文件丢失或损坏时,可能会导致软件无法正常启动,甚至影响系统的稳定性。对…...
小程序项目业务逻辑回忆4
用户查询积分 积分获取规则如下: 邀请其他用户购票参会,将获取该用户花费金额的10%获取积分。 邀请用户注册参观展览,需注册并现场签到,将获取10分的奖励积分。 邀请企业用户参展,将获取企业参展金额的5%获取到积分。 上述3条积分获取规…...
加热套、半导体加热带、工业加热夹克是同一种东西吗?
首先明确这个答案是肯定的,,这三种名称指同一种产品。作为北京龙腾圣华(LOTUSANA)的技术人员,我常被客户问到这个问题。我司自2002 年成立之初便自主研发投产此类柔性温控产品,最早行我们定名为加热套&…...
Nodejs后端服务接入Taotoken实现AI功能的具体配置步骤
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Node.js 后端服务接入 Taotoken 实现 AI 功能的具体配置步骤 对于 Node.js 开发者而言,将大模型能力集成到后端服务中&…...
Windows电脑直接运行安卓应用:APK安装器完全指南
Windows电脑直接运行安卓应用:APK安装器完全指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾幻想过在Windows电脑上流畅运行安卓应用ÿ…...
长期使用Taotoken官方折扣活动对项目运营成本的实际影响
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 长期使用Taotoken官方折扣活动对项目运营成本的实际影响 在项目开发与运营中,大模型API调用成本是技术决策者持续关注的…...
i.MX8MP多核异构处理器外设资源管理:从RDC到SEMA42的实战指南
1. 多核异构处理器的资源管理挑战与核心思路在嵌入式系统开发领域,尤其是高性能应用场景,多核异构处理器正变得越来越普遍。这类处理器通常将高性能应用处理器(如 Arm Cortex-A 系列)与实时微控制器(如 Arm Cortex-M 系…...
IC设计五大典型Bug剖析:从CDC到软硬件协同的防御性设计
1. 项目概述:IC设计中的那些“老朋友”在芯片设计的江湖里混迹多年,我越来越觉得,我们这些IC工程师(ICer)的日常,与其说是在创造,不如说是在与各种层出不穷的“老朋友”——也就是bug——斗智斗…...
从手机充电到电路板:一文搞懂Type-C的6P、16P、24P到底该怎么选(附实物图对比)
Type-C接口选型实战指南:6P/16P/24P的工程决策逻辑 当你在设计一款智能手表时,是否曾纠结过该用6P还是16P的Type-C接口?这个问题看似简单,却直接影响着产品的BOM成本、用户体验和市场竞争力。作为硬件开发者,我们每天都…...
Sigrity SystemSI 2023实战:LPDDR4仿真报告生成,从波形选择到阈值设置的保姆级避坑指南
Sigrity SystemSI 2023实战:LPDDR4仿真报告生成全流程解析与关键参数避坑指南 在高速数字电路设计中,LPDDR4接口的信号完整性验证已成为硬件工程师的必修课。作为Cadence旗下专业的信号完整性分析工具,Sigrity SystemSI 2023版本针对DDR仿真…...
【亲测免费】 普冉PY32F002A移植FreeRTOS资源文件
普冉PY32F002A移植FreeRTOS资源文件 【下载地址】普冉PY32F002A移植FreeRTOS资源文件 本资源文件提供了将FreeRTOS V9.0移植到普冉M0芯片PY32F002A的完整示例。开发环境基于KEIL,并使用了LL库进行移植。该示例展示了如何在PY32F002A芯片上运行四个任务,并…...
STM32 ADS1115接口文件(HAL库+硬件IIC)
STM32 ADS1115接口文件(HAL库硬件IIC) 【下载地址】STM32ADS1115接口文件HAL库硬件IIC 本资源包专为STM32系列微控制器设计,旨在简化通过HAL库利用硬件IIC接口与ADS1115高精度模拟到数字转换器(ADC)交互的过程。ADS1115是一款高性能的16位ΔΣ…...
