1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Python实现 pdf 转图片 + ocr识别图片文字

Python实现 pdf 转图片 + ocr识别图片文字

时间:2023-08-21 17:56:48

相关推荐

Python实现 pdf 转图片 + ocr识别图片文字

文章目录

pdf 转图片使用 ocr 识别文字

想把 pdf 中的文字提取出来的思路是:

先将 pdf 的每一张都转成图片,然后使用 ocr 技术识别出图片中的文字。

pdf 转图片

核心第三方库是 pdf2image 。

具体怎么操作直接看 python 代码就好了。

"""批量将pdf文件转换成图片jpeg格式"""from pdf2image import convert_from_pathimport osimport shutilfrom tqdm import tqdmimport jsondef pdfToJpeg(dirpath, outputpath):for root, dirs, files in os.walk(dirpath):for file in tqdm(files):file_path = os.path.join(root, file)pages = convert_from_path(file_path, dpi=200)articleID = file[:-4]saveDir = outputpath + '\\' + str(articleID)if os.path.exists(saveDir):shutil.rmtree(saveDir) # 如果存在则删除os.makedirs(saveDir)for i, page in enumerate(pages):page.save(saveDir + '\\' + f'out{i}.jpg')def main():dirpath = r'E:\fw\ISISPDF330\currentPDFbendi'outPath = r'E:\fw\JPEG\bendi'pdfToJpeg(dirpath, outPath)if __name__ == '__main__':main()

使用 ocr 识别文字

核心第三方库是 paddleocr 。

from pdftojpeg import pdfToJpegfrom paddleocr import PaddleOCRimport osdef write_to_txt(lines):passdef main():PDFAddress = "pdf"JPEGAdress = "jpeg"pdfToJpeg(PDFAddress, JPEGAdress) # 调用 pdf 转 图片ocr = PaddleOCR(use_angle_cls=True, lang="ch")for root, dirs, files in os.walk(JPEGAdress):files.sort(key=lambda x: eval(x[3:-4])) # 排序是为了在读取JPG文件时按照指定顺序读取。for file in files:img_path = os.path.join(root, file)result = ocr.ocr(img_path, cls=True)lines = []for line in result:lines.append(line[-1][0])print(lines)print('\n')if __name__ == '__main__':main()

过一段时间之后 paddlepaddle 的函数使用方法可能会变,这个时候去百度飞浆的官网查一下就好了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。