API python-pptx
не поддерживает эту операцию, но вы можете использовать некоторые внутренние компоненты для достижения этого результата
from copy import deepcopy
# ---get the existing freeform shape however you do---
freeform = slide.shapes[n]
# ---get the underlying XML element for that shape---
sp = freeform._sp
for idx in range(3):
# ---duplicate original freeform---
new_sp = deepcopy(sp)
# ---create a unique id for it---
new_sp.nvSpPr.cNvPr.id = 1000 + idx
# ---insert it after original---
sp.addnext(new_sp)
Все они будут расположены непосредственно над оригиналом, поэтомуВы могли бы хотеть добавить некоторые, чтобы переместить их в новую позицию.Кроме того, вы можете столкнуться с проблемами, если существующая произвольная форма участвует в гиперссылке, либо сама является ссылкой, либо содержит текст, содержащий гиперссылку.