首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用现有的pptx Python-Pptx创建新的pptx

使用现有的pptx Python-Pptx创建新的pptx
EN

Stack Overflow用户
提问于 2018-09-22 01:46:32
回答 2查看 2.9K关注 0票数 3

我正在尝试使用old.pptx创建new.pptx。old.pptx有4张幻灯片。我想创建的new.pptx与几乎相同的内容,在4张幻灯片的文本修改很少。我跳过了下面代码中的修改部分,你可以举一个例子,比如在运行时将小写转换为大写case..Need来做这些事情,这样如果我只是传递old.pptx,它就会执行所需的操作,然后用同样的no将它写到新的pptx。我不确定如何调整下面的幻灯片,可能需要完全改变它。请看一下下面的代码..

代码语言:javascript
复制
from pptx import Presentation

prs1 = Presentation() 

prs = Presentation('old.pptx') 

title_slide_layout = prs1.slide_layouts[0] 
for slide in prs.slides: 
     for shape in slide.shapes: 
            if not shape.has_text_frame: 
                    continue 
            for paragraph in shape.text_frame.paragraphs: 
                    #print(paragraph.text) 
                    prs1.slides.add_slide(paragraph.text)
     prs1.save('new.pptx')
EN

回答 2

Stack Overflow用户

发布于 2018-09-22 11:15:40

您只需打开演示文稿,进行所需的更改,然后使用新名称保存它,即可创建演示文稿的“修改”副本。

代码语言:javascript
复制
from pptx import Presentation

prs = Presentation('original.pptx')
for slide in prs.slides: 
    for shape in slide.shapes: 
        if not shape.has_text_frame: 
            continue
        text_frame = shape.text_frame
        text_frame.text = translate(text_frame.text)

prs.save('new.pptx')

如果您为此提供了一个translate(text) -> translated text函数,它将执行您所要求的操作。

票数 2
EN

Stack Overflow用户

发布于 2018-09-22 05:45:52

是否有一种选择是用新名称制作"old.pptx“的副本,然后打开副本进行编辑?如果这是一种选择,您可以这样做:

代码语言:javascript
复制
import subprocess
old_file = 'old.pptx';
new_file = 'new.pptx';
subprocess.call('cp '+old_file+' '+new_file,shell=True)

现在,您可以打开新文件进行编辑/修改。

如果您使用的是Windows机,则应查看cp命令的等价性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52448755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档