प्रौद्योगिकी साझेदारी

शून्यकठिनतायाः सह चित्रस्य पाठस्य च परिचयस्य आरम्भं कुर्वन्तु ~ सरलं ocr तथा Feipian इत्यस्य आधारेण pdf इत्यस्य txt मध्ये परिवर्तयन्तु

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

अत्र चित्रविवरणं सम्मिलितं कुर्वन्तु

प्रस्तावना

इदं pdf शुद्ध-नवीन-विण्डोज-उपयोक्तृणां कृते उपयुक्तम् अस्ति येषां दृश्य-परिचयस्य मूलभूत-ज्ञानं शून्यम् अस्ति । बॉस, कृपया एकं चक्करं कुरुत~~
सूचना:
अस्य परियोजनायाः PDF इत्यस्य OCR इत्यनेन सारणीः, पाठः रेखाङ्कनं, जलचिह्नम् इत्यादीनां हस्तक्षेपाणां निवारणार्थं किमपि न भवति अतः वयम् आशास्महे यत् भवन्तः यत् PDF इत्येतत् कार्यं उपयुञ्जते तेषु एतानि हस्तक्षेपवस्तूनि यथासम्भवं न समाविष्टानि भविष्यन्ति येन प्रभाविताः न भवेयुः अनुवाद प्रभाव।

प्रक्रिया

1. वातावरणस्य निर्माणं कुर्वन्तु

conda इत्यस्य उपयोगेन वर्चुअल् पायथन् वातावरणं रचयन्तु

conda crate -n pp python==3.11

2. संस्थापनसंकुलम्

पैडलं च पैडलॉक्रं च स्थापयन्तु
gpu संस्करणम्

पिप स्थापन पाडलपैडल-gpu paddleocr

cpu संस्करणम्

pip install paddlepaddle paddleocr

pdf to चित्रसाधनम्

https://github.com/oschwartz10612/poppler-windows/releases

pip pdf2image संस्थापयन्तु

3. विशिष्टः कोडः

मानातु यत् अस्माकं pdfs फोल्डर् मध्ये pdf सञ्चिकानां समूहः अस्ति, अस्माकं प्रत्येकं 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 इत्यस्य पाठं निष्कासयितुं शक्नोति, एकवारं चित्राणि वा सारणीः वा निर्मिताः भवन्ति चेत्, पृष्ठस्य परिचयप्रभावः क्षीणः भविष्यति~