Получение фона слайда всей презентации в виде изображения
Contents
[
Hide
]
В презентациях PowerPoint фон слайда может состоять из множества элементов. В дополнение к изображению, установленному в качестве фона слайда, на окончательный фон могут влиять тема презентации, цветовая схема и формы, расположенные на слайде мастер и слайде макета.
Aspose.Slides для PHP через Java не предоставляет простого метода для извлечения фона всей презентации слайда в виде изображения, но вы можете следовать приведённым ниже шагам, чтобы сделать это:
- Загрузите презентацию, используя класс Presentation.
- Получите размер слайда из презентации.
- Выберите слайд.
- Создайте временную презентацию.
- Установите тот же размер слайда в временной презентации.
- Клонируйте выбранный слайд в временную презентацию.
- Удалите формы с клонированного слайда.
- Преобразуйте клонированный слайд в изображение.
Следующий пример кода извлекает фон всей презентации слайда в виде изображения.
$slideIndex = 0;
$imageScale = 1;
$presentation = new Presentation("sample.pptx");
$slideSize = $presentation->getSlideSize()->getSize();
$slide = $presentation->getSlides()->get_Item($slideIndex);
$tempPresentation = new Presentation();
$slideWidth = $slideSize->getWidth();
$slideHeight = $slideSize->getHeight();
$tempPresentation->getSlideSize()->setSize($slideWidth, $slideHeight, SlideSizeScaleType::DoNotScale);
$clonedSlide = $tempPresentation->getSlides()->addClone($slide);
$clonedSlide->getShapes()->clear();
$background = clonedSlide->getImage($imageScale, $imageScale);
$background->save("output->png", ImageFormat::Png);
$tempPresentation->dispose();
$presentation->dispose();