Главное Авторские колонки Вакансии Образование
238 0 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Как извлекать изображения из документов PowerPoint в Python

В этой статье я расскажу, как извлекать изображения из слайда или всего документа PowerPoint с помощью Python.
Мнение автора может не совпадать с мнением редакции

Извлечение изображений из документа PowerPoint может быть полезной задачей, когда вам нужно получить доступ к содержащимся в нем визуальным активам или перепрофилировать их. Этот процесс включает в себя определение и сохранение отдельных файлов изображений, встроенных в презентацию.

В этой статье я расскажу, как извлекать изображения из слайда или всего документа PowerPoint с помощью Python.

  • Извлечение изображений из слайда презентации
  • Извлечение изображений из документа PowerPoint

Установите зависимость

Это решение требует установки в качестве зависимости Spire.Presentation for Python, которая представляет собой библиотеку Python для чтения, создания и работы с документами PowerPoint в программе на Python. Вы можете установить Spire.Presentation for Python, выполнив следующую команду pip.

pip install Spire.Presentation

Извлечение изображений из слайда презентации

Чтобы извлечь изображения из определенного слайда, необходимо просмотреть все фигуры на слайде и найти фигуры, имеющие тип SlidePicture или PictureShape, а затем использовать метод SlidePicture.PictureFill.Picture.EmbedImage.Image.Save() или PictureShape.EmbedImage.Image.Save() для сохранения изображений в файлы изображений.

from spire.presentation.common import *

from spire.presentation import *

# Создание экземпляра Presentation

ppt = Presentation()

# Загрузка файла PowerPoint

ppt.LoadFromFile("sample.pptx")

# Получение заданного слайда

slide = ppt.Slides[2];

i = 0

# Перебор всех фигур на слайде

for s in slide.Shapes:

# Проверка, является ли фигура типа SlidePicture

if isinstance(s, SlidePicture):

# Если да, то извлечение изображения

ps = s if isinstance(s, SlidePicture) else None

ps.PictureFill.Picture.EmbedImage.Image.Save("Output/SlidePic_"+str(i)+".png")

i += 1

# Проверка, является ли фигура типа PictureShape

if isinstance(s, PictureShape):

# Если да, то извлечение изображения

ps = s if isinstance(s, PictureShape) else None

ps.EmbedImage.Image.Save("Output/SlidePic_"+str(i)+".png")

i += 1

ppt.Dispose()

Извлечение изображений из документа PowerPoint

Извлечение изображений из всей презентации PowerPoint требует несколько иного подхода. Вместо того чтобы перебирать слайды и фигуры, можно воспользоваться свойством Presentation.Images. Это свойство предоставляет доступ к коллекции всех изображений в презентации. Перебирая эту коллекцию и вызывая метод IImageData.Image.Save() для каждого элемента, вы можете сохранить каждое отдельное изображение в отдельный файл изображения.

from spire.presentation.common import *

from spire.presentation import *

# Создание экземпляра Presentation

ppt = Presentation()

# Загрузка файла PowerPoint

ppt.LoadFromFile("sample.pptx")

# Перебор всех изображений в документе

for i, image in enumerate(ppt.Images):

# Извлечение изображений

ImageName = "ExtractImage/Images_"+str(i)+".png"

image.Image.Save(ImageName)

ppt.Dispose()

Заключение

В этой статье вы узнали, как извлекать изображения из документа PowerPoint с помощью Spire.Presentation for Python API. Эта библиотека способна выполнять различные операции над документами PowerPoint, такие как:

Преобразование PPT(X) в HTML в Python

Шифрование или дешифрование PPT(X) в Python

Защита или снятие защиты PowerPoint в Python

0
В избр. Сохранено
Авторизуйтесь
Вход с паролем
Комментарии
Выбрать файл
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать

Spark использует cookie-файлы. С их помощью мы улучшаем работу нашего сайта и ваше взаимодействие с ним.