2016-09-20 2 views
1

Это очень просто, но я не могу найти фактический метод в любом месте документации или в противном случае.Как удалить ненужные элементы-заполнители с помощью python-pptx

Я использую модуль python-pptx, и все, что мне нужно сделать, это удалить один элемент-заполнитель, пустое текстовое поле на некоторых слайдах (без создания совершенно нового макета только для этих слайдов) - ближайший вещь к ответу здесь: http://python-pptx.readthedocs.io/en/latest/user/placeholders-understanding.html под Непоселенный против населенного пункта, но он до сих пор не говорит как, чтобы фактически удалить/удалить местозаполнитель.

Я пробовал все очевидные методы .delete(), .remove() и т.д.

ответ

3

Там нет поддержки API для этого, но если вы удалите элемент формы текстового поля, который должен сделать то трюк. Было бы что-то вроде этого:

textbox = shapes[textbox_idx] 
sp = textbox.element 
sp.getparent().remove(sp) 

Использования textbox переменных/ссылок после того, как эта операция, скорее всего, пойдут хорошо нет. Но в противном случае, я ожидаю, что это сделает трюк.

+0

Отлично - я только должен был изменить то, что вы дали немного: текстовое поле = ** ** слайд-формы [textbox_idx] с ** ** слайд меняется в зависимости от имени переменной слайд.. Спасибо! – Jacristi

+0

Эй, я знаю, что это уже давно, но мне любопытно, есть ли функциональные возможности для включения и отключения All Caps для текста; Я могу делать все остальное, например, полужирный, italcis, подчеркивание и т. Д. Согласно http://python-pptx.readthedocs.io/en/latest/user/text.html. Также упоминается на этой же странице возможность сделать это, но я не могу найти ее где-нибудь – Jacristi

+0

@Jacristi: вы должны задать это как отдельный новый вопрос. Это не связано с этой темой. Если вы пометите его «python-pptx», я увижу его и буду рад ответить. – scanny

Смежные вопросы