当前位置: 首页 > news >正文

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%免费】
在这里插入图片描述

http://www.lryc.cn/news/379165.html

相关文章:

  • C#实现边缘锐化(图像处理)
  • ffmpeg windows系统详细教程
  • 【单片机】MSP430G2553单片机 Could not find MSP-FET430UIF on specified COM port 解决方案
  • 每日一题——力扣104. 二叉树的最大深度(举一反三+思想解读+逐步优化)四千字好文
  • wpf textbox 有焦点 导致后台更新 前台不跟着改变
  • 数字化物资管理系统的未来:RFID技术的创新应用
  • 【docker】常用指令-表格整理
  • 洛谷——P2824 排序
  • echart在线图表demo下载直接运行
  • MLX5_SET_TO_ONES宏解析
  • SQL Server入门-SSMS简单使用(2008R2版)-1
  • 高考专业抉择探索计算机专业的未来展望及适合人群
  • windows安装spark
  • 【信息学奥赛】CSP-J/S初赛03 计算机网络与编程语言分类
  • python20 函数的定及调用
  • 【Android WebView】WebView基础
  • Python酷库之旅-第三方库openpyxl(03)
  • 电脑丢失dll文件一键修复的方法有哪些?分析dll文件修复的多种策略
  • 小程序项目业务逻辑回忆4
  • LeetCode 16.最接近的三数之和(C++)
  • JSON.parse 解析NaN, Infinity, -Infinity失败
  • 【计算机】我不允许还有人不知道数据库是什么
  • 制作WIFI二维码,实现一键扫描连接WIFI
  • 数据结构-图的基本概念
  • 【HarmonyOS NEXT 】鸿蒙generateBarcode (码图生成)
  • python测试工程师 之 unittest框架总结
  • 微服务中的相关概念
  • 常见的设计模式
  • Camtasia2024中文版最新电脑录屏剪辑神器!
  • 【性能优化】表分区实践最佳案例