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

使用paddleocr提取PDF和图片文本

# pip install paddlepaddle paddleocr
import
sys from pathlib import Path current_path = Path(__file__).resolve().parent sys.path.append(str(current_path))import numpy as np from paddleocr import PaddleOCR from pdf2image import convert_from_path from PIL import Image from typing import Unionclass OCRPlugin:"""OCR插件"""def __init__(self):self.ocr = Noneself.init_model()def init_model(self):self.ocr = PaddleOCR(use_textline_orientation=True,doc_orientation_classify_model_dir=Path.joinpath(current_path, 'paddlex/official_models/PP-LCNet_x1_0_doc_ori'), # './paddlex/official_models/PP-LCNet_x1_0_doc_ori',doc_unwarping_model_dir=Path.joinpath(current_path, 'paddlex/official_models/UVDoc'), # './paddlex/official_models/UVDoc',text_detection_model_dir=Path.joinpath(current_path, 'paddlex/official_models/PP-OCRv5_server_det'), # './paddlex/official_models/PP-OCRv5_server_det',textline_orientation_model_dir=Path.joinpath(current_path, 'paddlex/official_models/PP-LCNet_x1_0_textline_ori'), # './paddlex/official_models/PP-LCNet_x1_0_textline_ori',text_recognition_model_dir=Path.joinpath(current_path, 'paddlex/official_models/PP-OCRv5_server_rec'), # './paddlex/official_models/PP-OCRv5_server_rec', )def process_image(self, image: Union[str, np.array]):result = self.ocr.predict(image)[0]rec_texts = result['rec_texts']return rec_textsocr = OCRPlugin()def process_pdf(pdf_path):"""处理PDF:param pdf_path::return:"""# 需自行实现PDF转图片逻辑images = convert_from_path(pdf_path)text = ""for img in images:# print(type(img))np_img = np.array(img)# print(type(np_img))rec_texts = ocr.process_image(np_img)text += "\n".join(rec_texts)return textdef process_image(img_path):"""处理图片:param img_path::return:"""img = Image.open(img_path)text = ""np_img = np.array(img)rec_texts = ocr.process_image(np_img)text += "\n".join(rec_texts)return textif __name__ == '__main__':pass

第一次运行不指定模型路径,会默认下载到本地缓存。

http://www.zskr.cn/news/31408.html

相关文章:

  • css3关键字
  • 第八周物理实验:用扭摆法测量物体的转动惯量
  • 2025 年蔬菜配送服务公司最新推荐榜,聚焦企业技术实力与市场口碑深度解析含深圳 / 宝安 / 东莞等区域优质服务商
  • 【每日一面】手写防抖函数
  • 模拟Ajax获取数据。表格显示, 带有分页功能,支持翻页,每页显示8行数据。响应式设计,适配不同屏幕尺寸
  • 2025年10月北京工装设计公司推荐榜:五强对比评测
  • 2025年10月北京工装设计公司排名:五家对比指南
  • 2025年10月防爆振动变送器厂家推荐:实力榜对比指南
  • 跨网文件交换怎么实现审批?从需求到落地的全解析!
  • MySQLDay5(基础篇完结)
  • HTML之addEventListener示例
  • 2025年10月北京工装设计公司推荐榜:筑垒领衔五强对比
  • 2025年10月山东AI公司推荐榜:优立德领衔五强对比
  • AI 超级智能体全栈方案阶段四:学术分析 AI 项目 RAG 落地指南:基于 Spring AI 的本地与阿里云知识库实践
  • 【FAQ】HarmonyOS SDK 闭源开放能力 — AppGallery Kit
  • 0284-KVS-分离读取文件逻辑
  • 0283-KVS-实现 set 和 remove
  • 0281-KVS-启动时加载文件内容
  • 0280-KVS-将日志记录到文件
  • 2025 年留学咨询服务机构最新推荐榜,技术实力与服务品质双重维度剖析英国 / 澳洲 / 香港 / 美国 / 加拿大留学 / 留学中介 / 留学咨询机构推荐
  • 字符串-函数
  • 2025 年纤维喷涂厂家最新推荐榜,技术实力与市场口碑深度解析机房无机 / 隔音无机 / 地下室无机 / A 级防火无机纤维喷涂公司推荐
  • [背包] CF730J Bottles 题解
  • Day5表单—下拉菜单与文本域
  • 2025 年验厂咨询机构最新推荐榜,技术实力与市场口碑深度解析,助力企业突破国际贸易壁垒
  • 干掉 Chrome,Comet AI 浏览器杀疯了!!
  • 知识图谱三强争霸:Neo4j/LightRAG/GraphRAG 全方位 PK 及实战适配指南 - 指南
  • 2025年深圳房产分割律所权威推荐榜单:房产分割律所/婚姻/股权分割专业律师精选
  • 从Palantir本体论,看驱动智能(Data for AI)的下一代数据架构
  • 基于Java+Springboot+Vue开发的婚恋交友网站管理系统源码+运行步骤