我正在尝试使用old.pptx创建new.pptx。 old.pptx中有4张幻灯片。我想创建内容几乎相同的new.pptx,并在4张幻灯片中进行少量文本修改。我从下面的代码中跳过了修改部分,您可以举一个例子,例如将小写转换为大写。.需要在运行时执行这些操作,因此,如果我只传递old.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')
答案 0 :(得分:2)
您只需打开演示文稿,进行所需的更改,然后使用新名称保存,即可创建演示文稿的“修改”副本。
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
函数,它将满足您的要求。
答案 1 :(得分:1)
是否可以使用新名称复制“ old.pptx”副本,然后打开副本进行编辑?如果可以的话,您可以这样做:
import subprocess
old_file = 'old.pptx';
new_file = 'new.pptx';
subprocess.call('cp '+old_file+' '+new_file,shell=True)
现在您可以打开新文件进行编辑/修改。
如果您使用的是Windows计算机,则应查找与cp
命令等效的内容。