Преобразуйте фигуру в powerpoint в изображение и сохраните

У меня есть презентация Powerpoint с изображениями. На каждом изображении изображена прямая линия (соединитель) и нарисованный от руки круг (форма). [медицинское изображение с выделенными функциями]

Моя цель - извлечь изображение, линию и круг в виде отдельных картинок (.jpeg). Я могу извлечь изображение, но я не могу сделать это с остальными.

Вот что работает с изображением:

ultrasound = shape.image
image_bytes = ultrasound.blob
with open(path, 'wb') as f:
    f.write(image_bytes)

Конечно, когда я пытаюсь сделать то же самое с линией и формой, я получаю сообщение об ошибке:

AttributeError: у объекта 'Shape' нет атрибута 'blob'

AttributeError: у объекта 'Connector' нет атрибута 'blob'

Я предполагаю, что должен быть способ, потому что когда я щелкаю правой кнопкой мыши по линии / фигуре, появляется опция Сохранить как рисунок...

1 ответ

Это поведение зависит от средства визуализации PowerPoint и не поддерживается в python-pptx, Фигуры - это векторные объекты, так что вы можете использовать этот подход, например, воссоздать изображения с помощью библиотеки чертежей, которая имеет такие же характеристики, как начало, точка, конечная точка, ширина и высота и т. Д. Pillow (PIL) позволяет вам "рисовать" растровые изображения с помощью примитивов, таких как линии, и я ожидаю, что в этом случае мы получим эллипсы, которые могут сделать это за вас.

Другие вопросы по тегам