Можно ли объединить две или более Powerpoint с помощью Python-pptx?Python

Программы на Python
Ответить
Anonymous
 Можно ли объединить две или более Powerpoint с помощью Python-pptx?

Сообщение Anonymous »

Я пытаюсь объединить слайды PowerPoint и не знаю, как это сделать. Я нашел модуль pptx на Python, который выглядел многообещающе. Я попытался скопировать содержимое слайда из двух Power Point в одну новую Power Point. Но я столкнулся со многими проблемами, например, как получить существующий макет или форму слайдов (все фигуры, включая изображения, автофигуры и т. д.), высоту, ширину и положение. Я посмотрел пример python-pptx на Python-pptx: скопируйте слайд. Я пытался сделать что-то подобное, но это не помогло.

Вот мой код:

Код: Выделить всё

from pptx import Presentation

prs1 = Presentation("C:/Users/number/Documents/Test1.pptx")
prs2 = Presentation("C:/Users/number/Documents/Test2.pptx")

slidelst = []
for layout in prs2.slide_layouts:
slidelst.append(prs1.slides.add_slide(layout))

index = 0
for slide in slidelst:
for shape in prs2.slides[prs2.slides.index(slide)].shapes:
slide.shapes._spTree.insert_element_before(shape.element, 'p:extLst')
index+=1

prs1.save("C:/Users/I505168/Documents/newpresentation.pptx")
Я получаю сообщение об ошибке:

Код: Выделить всё

Traceback (most recent call last):
File "C:\Users\I505168\Desktop\testpptx.py", line 12, in 
for shape in prs2.slides[prs2.slides.index(slide)].shapes:
File "C:\Users\I505168\AppData\Local\Programs\Python\Python37-32\lib\site-packages\pptx\slide.py", line 315, in index
raise ValueError("%s is not in slide collection" % slide)
ValueError: 
 is not in slide collection
Ожидаемый результат — два отдельных слайда объединяются в один.


Подробнее здесь: https://stackoverflow.com/questions/608 ... ython-pptx
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»