Как удалить пустые текстовые поля из слайдов Python pptx? - PullRequest
1 голос
/ 10 октября 2019
from pptx import Presentation
from pptx.util import Inches

prs = Presentation("my_pptfile_begin.pptx")

left = Inches(0.6)
top = Inches(1.7)

blank_slide_1 = prs.slide_layouts[6]
add_the_slide = prs.slides.add_slide(blank_slide_1)
img_path1 = 'Three_Part_Set_Difference_excel_printout.png'
slide1=prs.slides[1]
pic = slide1.shapes.add_picture(img_path1, left, top)

blank_slide_2 = prs.slide_layouts[6]
add_the_slide = prs.slides.add_slide(blank_slide_2)
img_path2 = 'my_image.png'
slide2=prs.slides[2]
pic = slide2.shapes.add_picture(img_path2, left, top)

logoleft = Inches(4.7)
logotop = Inches(1.8)

blank_slide_3 = prs.slide_layouts[6]
add_the_slide = prs.slides.add_slide(blank_slide_3)
img_path3 = 'logo_slide.png'
slide3=prs.slides[3]
pic = slide3.shapes.add_picture(img_path3, logoleft, logotop)

prs.save('my_pptfile_Final.pptx')

Как удалить пустые текстовые поля (или фактически все текстовые поля)?

Мне не нужны никакие текстовые поля в моем выходном файле Powerpoint

Ответы [ 2 ]

1 голос
/ 10 октября 2019

Если вы говорите о пустых формах заполнителей, просто используйте макет слайда, который не имеет заполнителей.

В шаблоне по умолчанию, который используется, когда вы вызываете Presentation() сам (без аргумента), то естья верю седьмой макет (prs.slide_layouts[6]).

Но вам нужно настроить его для любого используемого вами начального файла .pptx (в моем случае «my_pptfile_begin.pptx»), посмотрев его в слайдеосновной вид и обратный отсчет до пустого макета (или добавление одного, если у него его нет).

0 голосов
/ 10 октября 2019

blank_slide_3 = prs.slide_layouts [x] где x номер слайда шаблона по умолчанию вашего приложения pptx или шаблона вашей компании по умолчанию.

Поэтому вам нужно знать шаблон по умолчанию и знать пустой слайд снет текстовых полей этого шаблона на основе значений по умолчанию ваше приложение ppt

...