将整个演示文稿幻灯片背景提取为图像

Contents
[ ]

在PowerPoint演示文稿中,幻灯片背景可以由许多元素组成。除了设置为幻灯片背景的图像外,最终的背景可能会受到演示主题、配色方案以及放置在母版幻灯片和布局幻灯片上的形状的影响。

Aspose.Slides for PHP via Java没有提供提取整个演示文稿幻灯片背景作为图像的简单方法,但您可以按照以下步骤进行:

  1. 使用Presentation类加载演示文稿。
  2. 从演示文稿中获取幻灯片大小。
  3. 选择一张幻灯片。
  4. 创建一个临时演示文稿。
  5. 在临时演示文稿中设置相同的幻灯片大小。
  6. 将选定的幻灯片克隆到临时演示文稿中。
  7. 从克隆的幻灯片中删除形状。
  8. 将克隆的幻灯片转换为图像。

以下代码示例提取整个演示文稿幻灯片背景作为图像。

$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();