Mi informacion de contacto
Correo[email protected]
2024-07-08
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Este pdf es adecuado para usuarios novatos de Windows que no tienen conocimientos básicos de reconocimiento visual. Jefe, por favor tome un desvío ~~
Aviso:
El OCR del PDF en este proyecto no realiza ningún procesamiento de interferencias como tablas, texto de dibujo, marcas de agua, etc. Por lo tanto, espero que los archivos PDF que utilizan esta función no contengan estos elementos de interferencia tanto como sea posible para evitar afectar El efecto de traducción.
Cree un entorno virtual de Python usando conda
conda crate -n pp python==3.11
Instalar remo y paddleocr
versión gpu
instalación de pip paddlepaddle-gpu paddleocr
versión de la CPU
pip instalar paddlepaddle paddleocr
herramienta de pdf a imagen
https://github.com/oschwartz10612/poppler-windows/releases
instalación de pip pdf2image
Supongamos que tenemos un montón de archivos pdf en la carpeta pdfs y necesitamos convertir cada archivo pdf en un archivo txt correspondiente.Puedes usar el siguiente código
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()
Dado que este código solo puede extraer simplemente el texto del PDF, una vez que se produzcan imágenes o tablas, el efecto de reconocimiento de la página se deteriorará. Por favor, comprenda ~.