Подогнать картинку в PPT Placeholder - PullRequest
0 голосов
/ 25 июня 2019

Я хочу разместить изображение в заполнителе PPT и посмотрел две ссылки ниже:

Аналогичный вопрос

Аналогичный запрос

Из аналогичного вопроса я применил решение, но оно все еще показывает обрезанное изображение в ppt.

Мой код для того же:

prs = Presentation(path)
title_slide_layout = prs.slide_layouts[4] ## Changed the content to picture as I need two pictures in one slide
pic_placeholder = slide.placeholders[15] ## The two picture placeholders
pic_placeholder1 = slide.placeholders[16]

print(pic_placeholder.left.inches, pic_placeholder.top.inches, pic_placeholder.width.inches, pic_placeholder.height.inches)
## 0.5 2.4461811023622047 4.4184033245844265 4.253472222222222

"""Below solution from the question posted above """
pic_placeholder.left = Inches(0.1)
pic_placeholder.width = Inches(3)
pic_placeholder.height = Inches(3)

 ##Similarly I need to do for 2nd picture also, but it is not working for this picture also

prs.save(path)

Что касается ссылки Similar Query, я не смог понять, каково было окончательное решение, как этого достичь.

Постановка задачи : (Чего вы хотите достичь?

Хотите получить два изображения рядом на слайде, и они должны уместиться в заполнителе, а соотношение сторон сохраняется

Что вы пробовали?

Над кодом я попробовал !!

Какими конкретными способами он не работал?

При реализации решения я все еще получаю обрезанные изображения с одной стороны.

Все, что мне нужно, - это два разных изображения на одном слайде, и ни одно из них не будет обрезано !!

1 Ответ

0 голосов
/ 27 июня 2019

Для заполнителя изображения нет опции «сжать до нужного размера». Какие бы дополнительные настройки вы не захотели сделать для вставленной картинки, вам нужно будет сделать это самостоятельно.

Вы не показали код, который используете для вставки изображения, поэтому я не могу помочь вам с подробностями. Однако обратите внимание, что объект, возвращаемый из picture_placeholder.insert_picture(), является , а не самим объектом picture_placeholder. Этот объект удаляется в процессе (как и в самой PowerPoint, когда вы выполняете эту операцию там) и заменяется объектом изображения. Таким образом, любые изменения, внесенные вами в теперь заполненный элемент-заполнитель, не будут иметь никакого эффекта. Вам нужно что-то вроде этого:

inserted_picture = picture_placeholder.insert_picture(...)
inserted_picture.left = ...
inserted_picture.width = ...
...