AI工具 Skill技能库 关于道场

PDF和图片文字识别提取工具:PyMuPDF驱动的高精度OCR提取技能

一人堂 |2026-08-09

从图片或PDF文档中自动识别并提取文字内容,支持多种图片格式和PDF文件,自动判断是否包含文字并保留原始格式输出结构化结果。当需要从图片或PDF提取文字、进行OCR识别、处理含文字的文档或转换为可编辑文本时使用。

PDF和图片文字识别提取工具

【适用场景】

适用人群

- 从事内容创作的自媒体人:需要从截图、照片中提取文字用于二次创作 - 办公效率工作者:需要将扫描版PDF、截图文档转换为可编辑文本 - 研究人员:处理扫描版书籍、论文、报告

解决痛点

- 图片中有文字但无法直接复制粘贴 - 扫描版PDF无法选中文本 - 纸质文档需要快速数字化

典型任务

- 从朋友圈截图提取文案 - 将会议白板照片转为文字记录 - 扫描合同或发票提取关键信息 - 将纸质名片转换为可编辑文本

【操作步骤】

步骤一:接收图片或PDF文件

确认用户已上传图片文件或PDF文档,获取文件的访问路径或URL。

步骤二:识别图片内容(第一轮全局识别)

使用read_image工具识别图片内容,在prompt中明确要求识别所有文字内容,包括标题、正文、注释、水印等。对数字字符需特别注意视觉形状特征,确保6、8、9、0、3等易混淆数字准确识别。

步骤三:判断文字存在性

如果检测到文字,进入步骤四;如果未检测到文字,告知用户图片中未包含可提取的文字。

步骤四:提取并整理文字

提取图片中的所有文字内容,保持原有的结构和排版,整理为易读的格式输出。

步骤五:数字二次聚焦校验

对提取结果中的所有数字串(手机号、订单号、金额、日期等),执行二次聚焦识别。局部放大验证和交叉验证相结合,确保关键数字准确。

【代码模板】

图片文字提取核心脚本

```python import fitz # PyMuPDF

def extract_text_from_pdf(pdf_path): doc = fitz.open(pdf_path) text = "" for page in doc: text += page.get_text() return text ```

数字校验流程

```python import re

def verify_numbers(text): numbers = re.findall(r'\d+', text) verified = [] for num in numbers: if should_verify(num): verified_num = focus_verify(num) verified.append(verified_num) else: verified.append(num) return "".join(verified) ```

【复盘要点】

关键注意事项

- 第一轮全局识别后,必须对数字串进行二次校验 - 校验过程必须静默执行,不在对话中展示中间过程 - 对易混淆数字对(6/8、9/0、3/5)要特别关注上下文

质量自检清单

- 是否遗漏了文字内容 - 数字串是否经过二次校验 - 格式排版是否保留了原始结构 - 是否有无法识别的文字需要标注

来源:SkillHub https://skillhub.cn/skills/user_5f9c21aa/pdf-image-text-extractor