создать новый pptx используя существующий pptx Python-Pptx - PullRequest
0 голосов
/ 21 сентября 2018

Я пытаюсь создать new.pptx, используя old.pptx.У old.pptx есть 4 слайда.Я хочу создать новый .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')

Ответы [ 2 ]

0 голосов
/ 22 сентября 2018

Вы можете создать «измененную» копию презентации, просто открыв ее, внеся необходимые изменения и сохранив ее с новым именем.

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Примените к этому, он сделает то, что вы просите.

0 голосов
/ 22 сентября 2018

Есть ли один вариант сделать копию "old.pptx" с новым именем, а затем открыть копию для редактирования?Если это вариант, вы можете сделать:

import subprocess
old_file = 'old.pptx';
new_file = 'new.pptx';
subprocess.call('cp '+old_file+' '+new_file,shell=True)

Теперь вы можете открыть новый файл для редактирования / модификации.

Если вы используете компьютер с Windows, вы должны искать эквивалентность дляcp команда.

...