У меня есть сценарий, который добавляет текстовое поле с текстом в существующий PPT. Теперь цвет текстового поля сделан белым, чтобы перезаписать существующий текст, присутствующий в слайдмастере.
Проблема в том, что небольшая часть текстового поля перекрывается другой фигурой, которая должна быть сверху. Есть ли в python-pptx
возможность отправить форму на задний план. Ниже приведен вариант, который можно использовать с помощью powerpoint
Это способ, которым я могу это сделать, используя python-pptx
вот мой сценарий
for pptfile in addressList:
prs = Presentation(pptfile)
slides = prs.slides
for i in range(2,len(slides)-1):
textContent = ""
slide = prs.slides[i]
# Text position
t_left = Inches(3.27)
t_top = Inches(7.05)
t_width = Inches(6.89)
t_height = Inches(0.27)
# Text
txBox = slide.shapes.add_textbox(t_left, t_top, t_width, t_height)
fill = txBox.fill
fill.solid()
fill.fore_color.rgb = RGBColor(255, 255, 255)
tf = txBox.text_frame.paragraphs[0]
tf.vertical_anchor = MSO_ANCHOR.TOP
tf.word_wrap = True
tf.margin_top = 0
tf.auto_size = MSO_AUTO_SIZE.SHAPE_TO_FIT_TEXT
run = tf.add_run()
run.text = "This is new text."
font = run.font
font.name = 'Univers LT Std 47 Cn Lt'
font.size = Pt(10)
font.bold = None
font.italic = None # cause value to be inherited from theme
font.color.rgb = RGBColor(157, 163, 163)
prs.save(pptfile)
print(pptfile," Done!")