图文识别0难度上手~基于飞浆对pdf简易ocr并转txt

前言

本篇pdf适用windows对视觉识别0基础的的纯小白用户。大佬请绕道~~

注意:

本项目pdf的ocr对于表格、画图文字,水印等干扰没做任何处理,因此希望各位使用该功能的pdf尽量不要含有这些干扰项,以免影响翻译效果。

流程

1.构建环境

用conda创建一个虚拟python环境

复制代码
conda crate -n pp python==3.11

2.安装包

安装飞浆paddle 和paddleocr

gpu版本

pip install paddlepaddle-gpu paddleocr

cpu版本

pip install paddlepaddle paddleocr

pdf转图片工具

复制代码
https://github.com/oschwartz10612/poppler-windows/releases

pip install pdf2image

3.具体代码

假设在我们有一堆pdf文件在pdfs文件夹中,我们需要将其每个pdf文件转成对应的txt文件。则可使用如下代码

复制代码
from pdf2image import convert_from_path
import cv2
import numpy as np
from PIL import Image
import os
# 将 PDF 文件转换为图片列表
files = os.listdir('pdf')

for file in files:
    if not file.endswith('.pdf'):
        print(file)
        continue
    txt = file.replace('.pdf', '.txt')
    if os.path.exists('txt/'+txt):
        continue
    txt_writer = open('txt/'+txt, 'w',encoding='utf-8')
    images = convert_from_path('pdf/'+file)
    # print(type(images))
    # print(images[0])
    # image = cv2.cvtColor(np.array(images[0]), cv2.COLOR_RGB2BGR)


    from paddleocr import PaddleOCR, draw_ocr

    # 创建 PaddleOCR 实例
    ocr = PaddleOCR(use_angle_cls=True, lang='ch',use_gpu=True)  # 默认使用英文模型,可以通过 lang 参数切换到中文模型

    # 遍历每一张图片并识别文字
    for i, image in enumerate(images):
        print('第{}张图片'.format(i+1))
        # 转换图片为可用于识别的格式
        # source = image.convert('RGB')
        image = cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR)        # image.save(f'page_{i}.jpg')

        # 识别图片中的文字
        result = ocr.ocr(image, cls=True)

        # 打印识别结果
        try:
            for lines in result:
                for line in lines:
                    # print(line[1][0])
                    txt_writer.write(line[1][0]+'\n')
        except:
            print(file+'识别失败')
    txt_writer.close()

4.注意

由于本代码仅能简单提取pdf的文字,所以一旦出图片或者表格之类会导致该页识别效果变差,敬请谅解~

相关推荐
AmyLin_20011 小时前
PDF 脱敏技术【1】:PDF 脱敏不是盖黑框:为什么敏感信息仍能被复制,正确的保护方式是什么?
安全·pdf·sdk·脱敏·文档安全·pdf 脱敏·智能脱敏
denggun123457 小时前
PDF解析 Mineru
pdf
10mAh7 小时前
【PaddleOCR】扫描版 PDF 无法复制、RAG 检索为空怎么解决?——OCR 解析与版面还原实战
前端·pdf·ocr
AI人工智能+8 小时前
智能文档抽取系统通过“视觉感知+大模型认知“双引擎架构,实现非结构化文档的自动化处理
深度学习·计算机视觉·语言模型·自然语言处理·ocr·文档抽取
慧都小妮子1 天前
PDF图片提取总“褪色“?Aspose.PDF 多层级提取能力详解
pdf·c#·.net·图片处理·文档处理·色彩空间
SamChan901 天前
PDF翻译中的并发控制:用Semaphore防止API限流与资源耗尽
java·jvm·pdf
ilvcn2 天前
在线 PDF 翻译工具实测:整份翻译保留表格版式,长文档处理方案
pdf
accept 99%2 天前
python版提取 PDF 的常用第三方库与工具
开发语言·python·pdf
AmyLin_20013 天前
PDF 色彩保真工程实践【6】怎么证明“真的无损“?——SHA-256 校验与三个真实踩坑
c++·pdf·内存·sdk·调试·印刷
zyplayer-doc3 天前
zyplayer-doc企业知识库能做什么:从文档创建、权限管理到AI问答的完整能力
大数据·javascript·数据库·人工智能·pdf·word