首页 > 编程语言 >python实现ppt内容输出为word形式

python实现ppt内容输出为word形式

时间:2023-10-13 12:55:18浏览次数:51  
标签:pptx word python text frame shape paragraph ppt 经分

一、只输出文本内容

from pptx import Presentation
from docx import Document

wordfile = Document()
# 给定ppt文件所在的路径
filepath = r"C:\Users\18703\Desktop\智家经分\智家经分v2.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"C:\Users\18703\Desktop\智家经分\智家经分.docx"
wordfile.save(save_path)

二、输出文本、表格、图片内容

import pandas as pd
from pptx import Presentation
from pptx.shapes.picture import Picture

prs = Presentation(r"C:\Users\18703\Desktop\智家经分\智家经分v2.pptx")#这是你ppt的路径
index = 1
#读取幻灯片的每一页
wordfile = Document()
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.text
                    row_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
            print(f)

参考:https://blog.csdn.net/rubyw/article/details/130829579 

标签:pptx,word,python,text,frame,shape,paragraph,ppt,经分
From: https://www.cnblogs.com/pu369/p/17761834.html

相关文章

  • python实现docx转pptx(word文档转幻灯片)
    以前都是手工将word内容复制粘贴到ppt中,实在受够了。文心一言真是大忽悠,给的转换方案是用docx2pptx库,然而根本没有这个库,倒是可以用我下面的代码生成这个库:-)网上很多方案是转成图片形式插入ppt,导致无法正常编辑ppt.于是研究出以下方案:1.先将word文档的页面设置改为自定义大小......
  • python_两两比较计算相似矩阵
    距离矩阵余弦距离矩阵余弦距离使用两个向量夹角的余弦值作为衡量两个个体间差异的大小。相比欧氏距离,余弦距离更加注重两个向量在方向上的差异点集内或矩阵内两两元素之间的距离矩阵##简单使用两重循环defcompute_squared_EDM_method(X):#获得矩阵都行和列,因为是行向......
  • 2023-10-13 (error) ERR Client sent AUTH, but no password is set ==》redis访问密
    当你尝试在redis终端输入authxxx(auth是固定值,xxx是你的密码),然后终端报错:(error)ERRClientsentAUTH,butnopasswordisset意思:(错误)ERR客户端发送了AUTH,但未设置密码。原因:你没有设置redis访问密码。当然如果你非要设置访问密码,那么你可以在redis根目录找到redis.windo......
  • Python中的布尔值用途及特点介绍!
    Python中数据类型有很多种,而布尔值就是其中之一,是比较常见的数据类型。Python中bool表示布尔值,布尔值有两个True和Flase,常配合Python的条件语句来使用,一起来看看详细的内容介绍。Python中布尔值是什么?Python中的布尔值是一种基本数据类型,它的取值只有两种True和Flase......
  • python学习笔记3 遍历目录, 列出文件名
    importosdeflistDir(curPath,pixLen):list=[]#print("当前路径:"+curPath)files=os.listdir(curPath)forpathinfiles:fullPath=os.path.join(curPath,path)ifos.path.isfile(fullPath):#append......
  • python 高程灰度图tif转png
    importcv2importnumpyasnpim=cv2.imread('in.tif',flags=(cv2.IMREAD_GRAYSCALE|cv2.IMREAD_ANYDEPTH))height=im.shape[0]width=im.shape[1]print(height)print(width)nmin=4294967296nmax=0forrowinrange(height):forcolinrange(......
  • 制作python3.10镜像带gunicorn
    DockerfileFromharbor.goldwind.com/library/centos:7.9.2009ADDPython-3.10.13.tgz/dataRUNyuminstallmakexz-develpython-developenldap-develbzip2-develexpat-develgdbm-develreadline-develsqlite-develgccgcc-c++openssl-develxorg-x11-xauthzli......
  • python -- 定义函数 def 后面的 ->,:表示的含义
    -> 常常出现在python函数定义的函数名后面,为函数添加元数据,描述函数返回的类型。: 表示参数的类型建议符示例:defadd(x:int,y:int)->bool:if(x>y):returnTrueelse:returFalse这里,表明了函数的参数传入为int类型,输出的类型为bool类型。......
  • python中的各种符号(欢迎补充)
    #!非python特有的语法,主要用在需要在Linux系统执行脚本的时候,shell脚本头顶也会加这个玩意英文名叫“Sha-bang”,告诉Shell使用什么命令执行该脚本,在Linux系统执行python脚本,第一行加这个是告诉系统用哪个bash或者哪个解释器去执行脚本(就这么简单理解吧) ......
  • Python下划线命名模式
    五种Python下划线模式速查表: 单前导下划线:_var当涉及到变量和方法名称时,单个下划线前缀有一个约定俗成的含义。它是对程序员的一个提示-意味着Python社区一致认为它应该是什么意思,但程序的行为不受影响。下划线前缀的含义是告知其他程序员:以单个下划线开头的变量或方法仅......