工作中有很多场景需要我们把图片转换为word,这里提供一个思路,但是准确率和商用的比不了,只供参考。
步骤:
1.)安装Tesseract OCR,参考如下文章。
2.)编写python代码
python
import os
import pytesseract
from PIL import Image
from PIL import ImageFile
import docx
from docx.oxml.ns import qn
# pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
# pip install pytesseract -i https://pypi.tuna.tsinghua.edu.cn/simple
pytesseract.pytesseract.tesseract_cmd = r'D:\swordTool\TesseractOcr\tesseract.exe'
ImageFile.LOAD_TRUNCATED_IMAGES = True
Image.MAX_IMAGE_PIXELS = None
text = pytesseract.image_to_string(Image.open(r"D:/swordTool/devTool/pycharm/pyWorkSpace/PicToWord/test2.png"), lang='chi_sim+eng')
doc = docx.Document() # 创建一个新的word文档
doc.add_paragraph(text) # 往文档里添加识别出来的文字
doc.add_page_break() # 添加分页符,等于在word里按多了一次Ctrl+Enter
# 下面两行设置了文档字体全篇为宋体,缺一行不可
doc.styles['Normal'].font.name = u'宋体'
doc.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')
doc.save(os.getcwd() + '\\test.docx') # 保存文档