使用pymupdf提取PDF文档中的文字和其颜色

devtools/2024/12/4 2:19:51/

最近我在捣鼓一个PDF文件,想把它里面的文字和文字颜色给提取出来。后来发现有个叫pymupdf的库能搞定这事儿。操作起来挺简单的,pymupdf的示例文档里就有现成的代码可以参考。
how-to-extract-text-with-color
在这里插入图片描述

我本地的测试代码如下:

import pymupdf
import sys# sys.argv[1] 为文件名!
doc = pymupdf.open(sys.argv[1])
page = doc[0]for page in doc:text_blocks = page.get_text("dict", flags=pymupdf.TEXTFLAGS_TEXT)["blocks"]for block in text_blocks:for line in block["lines"]:for span in line["spans"]:text = span["text"]color = pymupdf.sRGB_to_rgb(span["color"])print(f"Text: {text}, Color: {color}")

运行效果如下:
在这里插入图片描述
我弄的那个文档里,有一块内容是这样的,项目里的文字被标成橙色,就是那种选中后的样子,所以我特别留意了它的颜色提取。
在这里插入图片描述
所以我需要抽取出文字的同时,还需要文字的颜色
在这里插入图片描述
在这里插入图片描述

推荐相关的文章 PymuPDF4llm:PDF 提取的革命


http://www.ppmy.cn/devtools/139227.html

相关文章

SQL进阶技巧:非等值连接--单向近距离匹配

目录 0 场景描述 1 数据准备 2 问题分析 ​编辑 ​编辑 3 小结 数字化建设通关指南 0 场景描述 表 t_1 和表 t_2 通过 a 和 b 关联时,有相等的取相等的值匹配,不相等时每一 个 a 的值在 b 中找差值最小的来匹。 表 t_1:a 中无重复值 表 t_1:a 中无重复值 a 1 2 4 …

3D Gaussian Splatting综述 论文笔记

文章目录 参考资料 参考资料 A Survey on 3D Gaussian Splatting精读 3DGaussianSplatting技术的影响会有多大? - Kedreamix的回答 - 知乎 https://www.zhihu.com/question/626506306/answer/3375816824 3DGS综述《A Survey on 3D Gaussian Splatting》 【论文笔记…

Docker 容器隔离关键技术:SELinux

Docker 容器隔离关键技术:SELinux SELinux(Security-Enhanced Linux) 是 Linux 内核中的一项安全机制,用于实现强制访问控制(MAC)。Docker 利用了 SELinux 来增强容器的隔离性,通过对文件、进程…

AppFlow:支持飞书机器人调用百炼应用

AppFlow:支持飞书机器人调用百炼应用 简介: 本文介绍了如何创建并配置飞书应用及机器人,包括登录飞书开发者后台创建应用、添加应用能力和API权限,以及通过AppFlow连接流集成阿里云百炼服务,最后详细说明了如何将机器…

PHP和GD如何给图片添加模糊边缘效果

在PHP中,使用GD库给图片添加模糊边缘效果通常涉及几个步骤,包括加载图片、创建模糊效果、应用边缘处理以及保存结果图片。然而,GD库本身并不直接提供边缘模糊的函数,但你可以通过一些技巧来实现类似的效果。 以下是一个简化的步骤…

【Excel】Excel中将日期格式转换为文本格式,并按日期显示。

【问题需求】 在使用excel进行数据导入的过程中, 有的软件要求日期列必须是文本格式。 但是直接将日期列的格式改为文本后,显示一串数字,而不按日期显示。 进而无法导入使用。 【解决方法】 使用【TXET】函数公式进行处理, 在单独…

FPGA 开发工程师

目录 一、FPGA 开发工程师的薪资待遇 二、FPGA 开发工程师的工作内容 1. 负责嵌入式 FPGA 方案设计,包括仿真、软件编写和调试等工作。 2. 使用工具软件建立 FPGA 综合工程,编写综合策略和时序约束。 3. 进行 FPGA 设计的优化与程序维护&#xff0c…

MySQL Workbench 数据建模全解析:从基础到实践

目录 什么是数据建模? 数据建模的三大层次 MySQL Workbench 简介 主要功能概览 数据建模的基础知识 实体-关系图 (ER 图)关键建模概念 MySQL Workbench 数据建模实操 创建新模型添加表及定义字段设置主键与外键创建关系生成物理数据库 复杂建模技巧与优化 使用图层…