从图片或PDF文档中自动识别并提取文字内容,支持多种图片格式和PDF文件,自动判断是否包含文字并保留原始格式输出结构化结果。当需要从图片或PDF提取文字、进行OCR识别、处理含文字的文档或转换为可编辑文本时使用。
PDF和图片文字识别提取工具
【适用场景】
适用人群
- 从事内容创作的自媒体人:需要从截图、照片中提取文字用于二次创作 - 办公效率工作者:需要将扫描版PDF、截图文档转换为可编辑文本 - 研究人员:处理扫描版书籍、论文、报告解决痛点
- 图片中有文字但无法直接复制粘贴 - 扫描版PDF无法选中文本 - 纸质文档需要快速数字化典型任务
- 从朋友圈截图提取文案 - 将会议白板照片转为文字记录 - 扫描合同或发票提取关键信息 - 将纸质名片转换为可编辑文本【操作步骤】
步骤一:接收图片或PDF文件
确认用户已上传图片文件或PDF文档,获取文件的访问路径或URL。步骤二:识别图片内容(第一轮全局识别)
使用read_image工具识别图片内容,在prompt中明确要求识别所有文字内容,包括标题、正文、注释、水印等。对数字字符需特别注意视觉形状特征,确保6、8、9、0、3等易混淆数字准确识别。步骤三:判断文字存在性
如果检测到文字,进入步骤四;如果未检测到文字,告知用户图片中未包含可提取的文字。步骤四:提取并整理文字
提取图片中的所有文字内容,保持原有的结构和排版,整理为易读的格式输出。步骤五:数字二次聚焦校验
对提取结果中的所有数字串(手机号、订单号、金额、日期等),执行二次聚焦识别。局部放大验证和交叉验证相结合,确保关键数字准确。【代码模板】
图片文字提取核心脚本
```python import fitz # PyMuPDFdef extract_text_from_pdf(pdf_path): doc = fitz.open(pdf_path) text = "" for page in doc: text += page.get_text() return text ```
数字校验流程
```python import redef 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