crear nuevos pptx utilizando pptx existente Python-Pptx

Estoy tratando de crear new.pptx usando un old.pptx. old.pptx tiene 4 diapositivas. Quiero crear el new.pptx con casi el mismo contenido con pocas modificaciones de texto en 4 diapositivas. Me salté la parte de modificación del código de abajo, puede tomar un ejemplo como convertir mayúsculas a mayúsculas. Necesito hacer estas cosas en tiempo de ejecución, de modo que si solo paso el antiguo.pptx hará la operación requerida y luego escríbelo a nuevo pptx con el mismo no. de diapositivas … No estoy seguro de cómo ajustar a continuación, puede ser necesario cambiarlo por completo. Por favor, eche un vistazo al siguiente código …

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

Puede crear una copia “modificada” de una presentación simplemente abriéndola, haciendo los cambios que desee y luego guárdela con un nombre nuevo.

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

Si proporciona una función de translate(text) -> translated text a esto, hará lo que está pidiendo.

¿Hay una opción para hacer una copia de “old.pptx” con el nuevo nombre y luego abrir la copia para editarla? Si esa es una opción, podrías hacer:

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

Ahora puedes abrir el nuevo archivo para editarlo / modificarlo.

Si está utilizando la máquina de Windows, debe buscar equivalencia para el comando cp .