admin管理员组文章数量:1605144
在文本挖掘领域,少不了对PDF文件进行处理的,其中有不少PDF里面可能是单纯的图片,这个时候就需要采用OCR技术进行图像文字识别。今天发布一版将图片PDF转为WORD文字的教程,首先需要安装并且配置好Tesseract OCR工具。下面展开详细教程。
(一)Tesseract OCR工具安装
1、首先下载安装包
安装包下载地址:https://digi.bib.uni-mannheim.de/tesseract/
安装包版本为:tesseract-ocr-w64-setup-5.3.4.20240503.exe
下载下来后就是一个.exe可执行文件(就不需要github上下载二进制文件然后进行一系列操作啦)
2、双击.exe可执行文件进行本地安装
一步步选择就行啦
(可以看到上图我把语言包选择了,选择这个选项能够把目前OCR所有能识别的语言都下载好,搭了梯子会稍微快一些,没有搭梯子建议不勾选,然后采用这个参考链接里的方法单独下载语言包https://www.jianshu/p/f7cb0b3f337a)
(选择好目标文件夹之后就是缓慢的安装过程啦)
3、配置系统环境
设置-高级系统设置-环境变量-PATH
在PATH里面新建刚才下载的目标文件夹的路径,我的是D盘
4、验证是否下载并配置成功
win+R输入cmd,在命令行中输入
tesseract -v
出现下图的结果就说明成功啦
可以再输入下面指令看看语言包
tesseract --list-langs
(二)图片PDF转WORD实操
接下来在Python中运行下述代码(首先自行安装好这些扩展包哦)
import os
import fitz # PyMuPDF
from PIL import Image
import pytesseract
from docx import Document
# 设置Tesseract可执行文件的路径
pytesseract.pytesseract.tesseract_cmd = r'D:\Tesseract-OCR\tesseract.exe'
def pdf_to_images(pdf_path):
""" 将PDF每一页转换为图片 """
doc = fitz.open(pdf_path)
images = []
for page_num in range(len(doc)):
page = doc.load_page(page_num)
pix = page.get_pixmap()
img = Image.frombytes("RGB", [pix.width, pix.height], pix.samples)
images.append(img)
return images
def images_to_text(images):
""" 通过OCR将图片转换为文本 """
texts = []
for img in images:
text = pytesseract.image_to_string(img, lang='chi_sim') # 使用简体中文语言包
texts.append(text)
return texts
def save_text_to_word(texts, output_path):
""" 将文本保存到Word文件 """
doc = Document()
for text in texts:
doc.add_paragraph(text)
doc.save(output_path)
def convert_pdf_to_word(pdf_path, word_path):
# 将PDF每页转换为图片
images = pdf_to_images(pdf_path)
# 通过OCR将图片转换为文本
texts = images_to_text(images)
# 将文本保存到Word文件
save_text_to_word(texts, word_path)
def batch_convert_pdf_to_word(input_dir, output_dir):
# 确保输出目录存在
os.makedirs(output_dir, exist_ok=True)
for filename in os.listdir(input_dir):
if filename.endswith(".pdf"):
pdf_path = os.path.join(input_dir, filename)
word_filename = filename.replace(".pdf", ".docx")
word_path = os.path.join(output_dir, word_filename)
convert_pdf_to_word(pdf_path, word_path)
print(f"Converted {pdf_path} to {word_path}")
if __name__ == '__main__':
# 输入PDF文件所在的目录
input_dir = r'E:\pythonProject\图片pdf'
# 输出Word文件所在的目录
output_dir = r'E:\pythonProject\output'
batch_convert_pdf_to_word(input_dir, output_dir)
以上代码可以实现批量的将图片PDF文件转为WORD文件~
只需要把PDF文件放在“图片pdf”文件夹下,在“output”就能输出识别好的WORD啦!
版权声明:本文标题:【逐步实操】Tesseract OCR 最新版本安装教程(Windows)+ 图片PDF转WORD实操 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1728479897a1159998.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论