我正在尝试使用旧的.pptx创建新的.pptx。old.pptx有4张幻灯片我想创建一个新的.pptx,它的内容几乎相同,在4张幻灯片中很少修改文本我跳过了下面代码中的修改部分,您可以举一个例子,比如将小写转换为大写。需要在运行时执行这些操作,这样如果我通过了旧的.pptx,它将执行所需的操作,然后用相同数量的幻灯片将其写入新的pptx。我不知道如何调整下面的内容,可能需要彻底改变。请看下面的代码。

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')

最佳答案

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

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函数,它将按您的要求执行。

关于python - 使用现有的pptx创建新的pptx Python-Pptx,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52448755/

10-11 08:47