最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python使用paddleOCR批量識別pdf的方法

 更新時間:2024年03月03日 09:55:40   作者:Python斗羅  
PaddleOCR可以在圖像、文本、表格等多種場景下進行文字識別,本文主要介紹了Python使用paddleOCR批量識別pdf的方法,具有一定的參考價值,感興趣的可以了解一下

PaddleOCR是一個基于PaddlePaddle深度學習框架的OCR(Optical Character Recognition,光學字符識別)系統(tǒng),可以在圖像、文本、表格等多種場景下進行文字識別,具有高速、高精度、高可定制性等特點。在應用中,可以使用PaddleOCR進行pdf文件的批量識別。

注意,本文章所述方法僅適用于單欄文本,無表格等復雜場景的情況。

以下是使用PaddleOCR批量識別pdf的步驟:

1、安裝PaddleOCR
首先需要安裝PaddleOCR,可以參考官方文檔進行安裝。
按照文檔來非常的簡單。無需害怕。https://github.com/PaddlePaddle/PaddleOCR

2、準備pdf文件
將需要識別的pdf文件準備好,可以使用一個掃描版進行測試。

3、使用PaddleOCR進行識別
paddleocr識別pdf的過程是先將pdf變?yōu)閳D片,再識別圖片,最終再拼接出答案。
所以我們在此將過程分為兩個函數(shù)。

如下:

import datetime
import os
import fitz  # fitz就是pip install PyMuPDF

def pdf2png(pdfPath, baseImagePath):
    imagePath=os.path.join(baseImagePath,os.path.basename(pdfPath).split('.')[0])
    startTime_pdf2img = datetime.datetime.now()  # 開始時間
    print("imagePath=" + imagePath)
    if not os.path.exists(imagePath):
        os.makedirs(imagePath)
    pdfDoc = fitz.open(pdfPath)
    totalPage=pdfDoc.pageCount
    for pg in range(totalPage):
        page = pdfDoc[pg]
        rotate = int(0)
        zoom_x = 2
        zoom_y = 2
        mat = fitz.Matrix(zoom_x, zoom_y).prerotate(rotate)
        pix = page.get_pixmap(matrix=mat, alpha=False)
        print(f'正在保存{pdfPath}的第{pg+1}頁,共{totalPage}頁')
        pix.save(imagePath + '/' + f'images_{pg+1}.png')
    endTime_pdf2img = datetime.datetime.now()
    print(f'{pdfDoc}-pdf2img-花費時間={(endTime_pdf2img - startTime_pdf2img).seconds}秒')

if __name__ == "__main__":
    pdfPath = r'./demo-scan.pdf'
    baseImagePath = './imgs'
    pdf2png(pdfPath, baseImagePath)
import os
import cv2
from paddleocr import PPStructure,save_structure_res
from paddleocr.ppstructure.recovery.recovery_to_doc import sorted_layout_boxes, convert_info_docx
from copy import deepcopy
# 中文測試圖
table_engine = PPStructure(recovery=True,lang='ch')

image_path = './imgs/demo-scan'
save_folder = './txt'
def img2docx(img_path):
    text=[]
    imgs=os.listdir(img_path)
    for img_name in imgs:
        print(os.path.join(img_path,img_name))
        img = cv2.imread(os.path.join(img_path,img_name))
        result = table_engine(img)

        save_structure_res(result, save_folder, os.path.basename(img_path).split('.')[0])

        h, w, _ = img.shape
        res = sorted_layout_boxes(result, w)
        convert_info_docx(img, res, save_folder, os.path.basename(img_path).split('.')[0])

        for line in res:
            line.pop('img')
            print(line)
            for pra in line['res']:
                text.append(pra['text'])
            text.append('\n')
        with open('txt/res.txt', 'w', encoding='utf-8') as f:
            f.write('\n'.join(text))
img2docx(image_path)

以上代碼將會讀取指定目錄下的pdf文件,并將其轉(zhuǎn)換為圖像列表,然后使用PaddleOCR進行識別,最后將識別結(jié)果保存在指定目錄下的文本文件中。

需要注意的是,使用PaddleOCR進行pdf識別時,由于pdf文件通常包含多頁,需要將每一頁的內(nèi)容分別識別,并將其合并成完整的文本內(nèi)容。

另外,由于PaddleOCR的識別結(jié)果可能存在誤識別的情況,需要對識別結(jié)果進行校驗和修正。

到此這篇關(guān)于Python使用paddleOCR批量識別pdf的方法的文章就介紹到這了,更多相關(guān)Python批量識別pdf內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何基于python3和Vue實現(xiàn)AES數(shù)據(jù)加密

    如何基于python3和Vue實現(xiàn)AES數(shù)據(jù)加密

    這篇文章主要介紹了如何基于python3和Vue實現(xiàn)AES數(shù)據(jù)加密,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • Python Pillow 圖像處理庫詳解(常用Pillow函數(shù)及其參數(shù))

    Python Pillow 圖像處理庫詳解(常用Pillow函數(shù)及其參數(shù))

    Pillow,原名PIL(Python Imaging Library),是一個功能強大的Python圖像處理庫,支持多種格式,提供豐富的圖像操作功能,如旋轉(zhuǎn)、縮放、顏色轉(zhuǎn)換等,以及易于使用的API,Pillow支持廣泛的圖像文件格式,并提供圖像過濾、繪制等功能
    2024-09-09
  • Python BeautifulSoup中文亂碼問題的2種解決方法

    Python BeautifulSoup中文亂碼問題的2種解決方法

    這篇文章主要介紹了Python BeautifulSoup中文亂碼問題的2種解決方法,需要的朋友可以參考下
    2014-04-04
  • Python?NumPy實用函數(shù)筆記之a(chǎn)llclose

    Python?NumPy實用函數(shù)筆記之a(chǎn)llclose

    這篇文章主要給大家介紹了關(guān)于Python?NumPy實用函數(shù)筆記之a(chǎn)llclose的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-01-01
  • Python編寫簡單的HTML頁面合并腳本

    Python編寫簡單的HTML頁面合并腳本

    這篇文章主要介紹了Python編寫簡單的HTML頁面合并腳本的相關(guān)資料,需要的朋友可以參考下
    2016-07-07
  • 如何在Python中使用pyecharts圖形畫可視化大屏

    如何在Python中使用pyecharts圖形畫可視化大屏

    最近碰巧需要用到pyecharts,pyecharts庫是一個用于生成echarts圖表的類庫,這篇文章主要給大家介紹了關(guān)于如何在Python中使用pyecharts圖形畫可視化大屏的相關(guān)資料,需要的朋友可以參考下
    2024-05-05
  • Python函數(shù)裝飾器的使用教程

    Python函數(shù)裝飾器的使用教程

    在了解了Python函數(shù)裝飾器基礎(chǔ)知識和閉包之后,開始正式學習函數(shù)裝飾器。感興趣的朋友可以參考本文
    2021-06-06
  • 利用Python實現(xiàn)批量轉(zhuǎn)換圖片格式

    利用Python實現(xiàn)批量轉(zhuǎn)換圖片格式

    本文重點介紹普通圖片格式怎么相互轉(zhuǎn)換,如jpg格式圖片怎么批量轉(zhuǎn)化為png格式,在深度學習項目中,有時我們收集到的數(shù)據(jù)集圖片格式不統(tǒng)一,有的代碼支持多種格式圖片輸入,有的則只支持個別格式,所以這時,我們需要通過腳本來轉(zhuǎn)換圖片格式,不說廢話,直接上代碼
    2025-08-08
  • python啟動應用程序和終止應用程序的方法

    python啟動應用程序和終止應用程序的方法

    今天小編就為大家分享一篇python啟動應用程序和終止應用程序的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python?Requests庫知識匯總

    Python?Requests庫知識匯總

    這篇文章主要介紹了Python?Requests庫學習總結(jié),本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05

最新評論

娄烦县| 高雄市| 平邑县| 崇州市| 丹棱县| 进贤县| 崇礼县| 舟曲县| 徐汇区| 仁怀市| 新巴尔虎右旗| 南安市| 双柏县| 岳阳市| 江川县| 平顺县| 新蔡县| 石屏县| 固安县| 峨山| 厦门市| 安远县| 汝州市| 茂名市| 叶城县| 岳普湖县| 绿春县| 琼海市| 双桥区| 洪湖市| 通山县| 桑植县| 泗水县| 廊坊市| 陵水| 望谟县| 通城县| 扶余县| 麦盖提县| 新化县| 宁河县|