文章目录

  • 一、Python安装和卸载库的方法
    • 1.1 安装
    • 1.2 卸载
  • 二、工具
  • 三、将PPT内容转化为Word
    • 3.1 将PPT文本框里的文字转化为Word
      • 3.1.1 需要的库
      • 3.1.2 实现代码
      • 3.1.3 具体解释
    • 3.2将PPT的图片也输出出来
      • 3.2.1 需要的库
      • 3.2.2 实现代码
  • 四、利用OCR将图片信息存放在Word里
    • 4.1 使用百度的api
      • 4.1.1 需要的库
      • 4.1.2 实现代码
      • 4.1.3 具体解释
      • 4.1.4 存在的问题
    • 4.2 基于tesseract的OCR识别
      • 4.2.1 需要的库和软件
      • 4.2.2 实现代码
      • 4.2.3 具体解释
      • 4.2.4 存在的问题
    • 4.3 一些另外的方法
      • 4.3.1 需要安装的库
      • 4.3.2 实现代码
      • 4.3.3 具体解释
      • 4.3.4 存在的问题
  • 五、注意点

一、Python安装和卸载库的方法

1.1 安装

在搜索栏搜索cmd,然后输入pip install +库名字,举个例子,需要安装python-pptx,那就输入 pip install python-docx

1.2 卸载

在搜索栏搜索cmd,然后输入pip uninstall +库名字,举个例子,需要卸载python-pptx,那就输入 pip uninstall python-docx

二、工具

我所使用的是pycharm,个人感觉比较好用。
下载配置教程可点击这里

三、将PPT内容转化为Word

3.1 将PPT文本框里的文字转化为Word

3.1.1 需要的库

所需要下载的库为:python-pptxpython-docx两个。

3.1.2 实现代码

from pptx import Presentation
from docx import Documentwordfile = Document()
# 给定ppt文件所在的路径
filepath = r'E:\vs\w.pptx'
pptx = Presentation(filepath)
# 遍历ppt文件的所有幻灯片页
for slide in pptx.slides:# 遍历幻灯片页的所有形状for shape in slide.shapes:# 判断形状是否含有文本框,如果含有则顺序运行代码if shape.has_text_frame:# 获取文本框text_frame = shape.text_frame# 遍历文本框中的所有段落for paragraph in text_frame.paragraphs:# 将文本框中的段落文字写入word中wordfile.add_paragraph(paragraph.text)
#word文档存放的路径
save_path = r'E:\vs\w.docx'
wordfile.save(save_path)

3.1.3 具体解释

具体的解释可以点击这里
或者这一个
需要注意的地方就是里面的Document后面的*要去掉,要不然会报错,还有在wordfile.add_paragraph(paragraph.text这一句中少了)

3.2将PPT的图片也输出出来

3.2.1 需要的库

所需要下载的库为:python-pptx

3.2.2 实现代码

如果有图片的话,会直接存放当前Pycharm的项目文件夹之中。

from pptx import Presentation
from pptx.shapes.picture import Pictureprs = Presentation("E:\k\w.pptx")#这是你ppt的路径
index = 1
#读取幻灯片的每一页
for slide in prs.slides:# 读取每一板块for shape in slide.shapes:# print(dir(shape))#是否有文字框if shape.has_text_frame:#读文字框的每一段落for paragraph in shape.text_frame.paragraphs:if paragraph.text:# 输出段落文字,也有一些属性,可以用dir查看# print(dir(paragraph))print(paragraph.text)#是否有表格elif shape.has_table:one_table_data = []for row in shape.table.rows:  # 读每行row_data = []for cell in row.cells:  # 读一行中的所有单元格c = cell.textrow_data.append(c)one_table_data.append(row_data)  # 把每一行存入表#用二维列表输出表格行和列的数据print(one_table_data)# 是否有图片elif isinstance(shape, Picture):#shape.image.blob:二进制图像字节流,写入图像文件with open(f'{index}.jpg', 'wb') as f:f.write(shape.image.blob)index += 1

四、利用OCR将图片信息存放在Word里

4.1 使用百度的api

4.1.1 需要的库

所需要下载的库为:baidu-aippython-docx两个。

4.1.2 实现代码

# 从相应的aip导入AipOcr模块
from aip import AipOcr
from docx import Documentwordfile = Document()
# 输入凭证
APP_ID = "19307867"
API_Key = "HM1UDlzRPrr7TE6xw9YHDSnZ"
Secret_Key = "6jUGVGRLMrbByWz0vPs5w5NOS8m6GMOl"
aipOcr = AipOcr(APP_ID, API_Key, Secret_Key)# 输入资源
filePath = r"D:\pythonProject"
for i in range(1, 499):filePath1 = filePath + "\\" + str(i) + ".jpg" # 最好是jpg,名称统一image = open(filePath1, "rb").read()# 接通ocr接口result = aipOcr.basicGeneral(image)# 输出mywords = result["words_result"]for i in range(len(mywords)):print(mywords[i]["words"])wordfile.add_paragraph(mywords[i]["words"])save_path = r'E:\vs\w.docx'
wordfile.save(save_path)

4.1.3 具体解释

具体解释点击这里

4.1.4 存在的问题

这个是直接调用api的,调用多次的话就会失效,需要过一段时间才可以再次调用。所以,需要大批量的识别的话,不建议这种方式。

4.2 基于tesseract的OCR识别

4.2.1 需要的库和软件

所需要下载的库为:python-pptxpytesseractpillow
所需要下载的软件为 tesseract
具体安装和配置方法参考其他博主

4.2.2 实现代码

from PIL import Image
import pytesseract
import pptximage = Image.open(r'2.jpg')#打开图片
result = pytesseract.image_to_string(image,lang='eng')#使用简体中文字库识别图片并返回结果
print(result)#打印识别的图片内容

4.2.3 具体解释

Python3使用 pytesseract 进行图片识别
Python3.6实现图片转文字

4.2.4 存在的问题

这一个方法识别率刚好不符合我的要求,因为它不可以很好的识别出图片里面数字的正负。

4.3 一些另外的方法

4.3.1 需要安装的库

所需要下载的库为:requestspython-docx(要转化为word才需要)。

4.3.2 实现代码

import requests
import base64
from docx import Documentwordfile = Document()def ocr(img_path: str) -> list:'''根据图片路径,将图片转为文字,返回识别到的字符串列表'''# 请求头headers = {'Host': 'cloud.baidu.com','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36 Edg/89.0.774.76','Accept': '*/*','Origin': 'https://cloud.baidu.com','Sec-Fetch-Site': 'same-origin','Sec-Fetch-Mode': 'cors','Sec-Fetch-Dest': 'empty','Referer': 'https://cloud.baidu.com/product/ocr/general','Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',}# 打开图片并对其使用 base64 编码with open(img_path, 'rb') as f:img = base64.b64encode(f.read())data = {'image': 'data:image/jpeg;base64,'+str(img)[2:-1],'image_url': '','type': 'https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic','detect_direction': 'false'}# 开始调用 ocr 的 apiresponse = requests.post('https://cloud.baidu.com/aidemo', headers=headers, data=data)# 设置一个空的列表,后面用来存储识别到的字符串ocr_text = []result = response.json()['data']if not result.get('words_result'):return []# 将识别的字符串添加到列表里面for r in result['words_result']:text = r['words'].strip()ocr_text.append("  ")ocr_text.append(text)wordfile.add_paragraph(ocr_text)# 返回字符串列表return ocr_text'''
img_path 里面填图片路径,这里分两种情况讨论:
第一种:假设你的代码跟图片是在同一个文件夹,那么只需要填文件名,例如 test1.jpg (test1.jpg 是图片文件名)
第二种:假设你的图片全路径是 D:/img/test1.jpg ,那么你需要填 D:/img/test1.jpg
'''for i in range(300, 400):img_path10 = str(i) + ".jpg"content = "".join(ocr(img_path10))print(content)# img_path = '2.jpg'
# # content 是识别后得到的结果
# content = "".join(ocr(img_path))
# # 输出结果
# print(content)
save_path = r'E:\vs\前400.docx'
wordfile.save(save_path)

4.3.3 具体解释

使用Python快速实现图片文字识别(30行代码)

4.3.4 存在的问题

这一个实质上也是在调用api接口,所以调用多次后会失效,需要过一阵子才可以继续使用。

五、注意点

Python的解释器最好选择你安装Python路径下面的python.exe,这样可以避免你安装了一些库,但是你编译的时候显示找不到库的问题。

--------------------------------下面未整理------------------------------
出现的问题

Python在终端通过pip安装好包以后,在Pycharm中依然无法使用的解决办法

Python实现PPT转化为Word和OCR识别相关推荐

  1. 怎么把ppt转化为word文档格式

    ppt文件虽然浏览起来很方便,但是作为文件传送格式就不是那么好了,一来太大,二来一不小心就会将文档修改,所以将ppt转换成word格式是我们必须掌握的技能,下面就一起学习ppt转换成word格式的方法 ...

  2. PYTHON借用腾讯AI实现通用OCR识别

    import qqai import base64 import types your_app_id = '2******4' ###自己的appid your_app_key = 'Bf****** ...

  3. pdf转word用python轻松搞定_使用Python将PDF转化为word

    60行Python代码,实现多线程PDF转Word 分解任务 把PDF转为Word,分几步?两步,第一步读取PDF文件,第二步写入Word文件. 是的,就是这么简单,借助Python第三方包,可以轻松 ...

  4. python 生成ppt 比例_如何用Python将PDF转化为PPT

    通常,大家的需求都是将PPT转化为PDF,无论是Word还是WPS都已经实现了这些功能.偶尔也会需要把PDF转为PPT.原则上来说,可以利用python的一些库解析PDF,但是这显然比较麻烦.最好的办 ...

  5. ubuntu 下 python 将ppt,word 转换为pdf.

    最近发现了一个挺厉害的人工智能学习网站,内容通俗易懂,风趣幽默,感兴趣的可以点击此链接进行查看:床长人工智能教程 废话不多说,请看正文! 前言: 在我以前的博客中有这么两篇博客,一篇是:将word 转 ...

  6. python ubuntu word txt 转pdf_ubuntu 下 python 将ppt,word 转换为pdf.

    前言: 在我以前的博客中有这么两篇博客,一篇是:将word 转换为图片(word to pdf ->pdf to image),另一篇是:python将ppt文件转换为jpg图片. 这两篇博客都 ...

  7. ubuntu下使用python将ppt转成图片_在Ubuntu下,python将PPT和word转换为PDF,ubuntu,pptword,pdf...

    前言: 在我以前的博客中有这么两篇博客,一篇是: python将ppt文件转换为jpg图片 . 这两篇博客都是讲如何将word,ppt转换为图片,但是这些方法都是在win系统中实现的,而在ubuntu ...

  8. 应用python的docx模块解析word文件内容

    目录 工作问题 涉及知识点 实现过程 目标 调用对应的库和模块 定义通用方法 1.[遍历全部的同格式文件]返回一个文件夹内,限定某类格式文件,返回全部这类文件的绝对路径 2.[提取段落&表格中 ...

  9. Python自动化ppt制作工牌

    最近被已毕业的师兄拉过去给一次会议当注册人员,要挨个给参会人员制作工牌,就是将下面的表单数据里面的人名以及其拼音,按照给的ppt模版手工挨个复制粘贴过去. 虽然参会人员没有成千上万人,我们几个机动注册 ...

最新文章

  1. winform模拟登陆网页_【教程】模拟登陆网站 之 C#版(内含两种版本的完整的可运行的代码)...
  2. AI芯片浮出新玩家OURS,来者何人?新晋图灵奖得主华人弟子谭章熹
  3. Scala 类型、数值类型及类型转换
  4. 3dmax蒙皮详细教程
  5. 利用Java发送邮件(含附件)的例子
  6. 程序员日报周报月报 模板
  7. java 中文转首字母_java 中文转成拼音及首字母
  8. 二十五个软件测试经典面试题
  9. 图片质量与ISO 光圈 快门 测光 曝光与曝光补偿 焦距和焦距转换系数 景深与光圈优先 白平衡与RAW
  10. PTA 7-18(查找) 新浪微博热门话题(30 分) 30分代码 (已更新)
  11. SSM 前台AJax传递参数和controller后台接收的方法
  12. RocketMQ消息存储学习
  13. win10 全屏秒退
  14. pandownload使用cookie登录
  15. XXL-Job执行器部署
  16. 网络安全之如何保护手机支付安全
  17. TONG LI DIAN ZI - 你要害人害到什么时候
  18. 基于深度学习的端到端通信系统模型
  19. 超声波驱虫器,把蚊蟑鼠蚁全赶跑
  20. oracle不能访问管理页面,无法登录Oracle Access Manager的OAM控制台

热门文章

  1. STM32:RTC实时时钟原理
  2. 12以内阶乘、自然对数e及e的x次方的计算(Factorial)
  3. php记录上次观看记录,PHP 记录用户访问记录
  4. 基于php学生社团活动报名系统
  5. eplan php文件夹,EPLAN P8 导入部件库的方法-mdb文件
  6. 2022-2028年中国眼镜制造行业市场竞争策略及未来发展潜力报告
  7. 北斗导航 | 北斗/GNSS精密定位:从PPP-RTK 到 Vision-PPP(第十一届中国卫星导航年会报告)
  8. 系统集成十大项目管理(1)
  9. CS224n 深度自然语言处理(四) Note - Backpropagation and computation graphs
  10. delphi 分屏显示