Obtener todo el fondo de la diapositiva de una presentación como imagen

Obtener todo el fondo de la diapositiva

En las presentaciones de PowerPoint, el fondo de la diapositiva puede estar formado por muchos elementos. Además de la imagen establecida como el fondo de la diapositiva, el fondo final puede verse influido por el tema de la presentación, el esquema de colores y las formas situadas en la diapositiva maestra y en la diapositiva de diseño.

Aspose.Slides para PHP a través de Java no proporciona un método sencillo para extraer todo el fondo de la diapositiva de la presentación como imagen, pero puedes seguir los pasos a continuación para hacerlo:

  1. Cargar la presentación usando la clase Presentation.
  2. Obtener el tamaño de la diapositiva de la presentación.
  3. Seleccionar una diapositiva.
  4. Crear una presentación temporal.
  5. Establecer el mismo tamaño de diapositiva en la presentación temporal.
  6. Clonar la diapositiva seleccionada en la presentación temporal.
  7. Eliminar las formas de la diapositiva clonada.
  8. Convertir la diapositiva clonada en una imagen.

El siguiente ejemplo de código extrae todo el fondo de la diapositiva de la presentación como una imagen.

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

FAQ

¿Se conservarán los degradados complejos, texturas o rellenos de imagen de una diapositiva maestra en la imagen de fondo resultante?

Sí. Aspose.Slides renderiza los rellenos de degradado, imagen y textura definidos en la diapositiva, el diseño o la maestra. Si necesitas aislar el aspecto de las maestras heredadas, establecer un fondo propio en la diapositiva actual antes de exportar.

¿Puedo añadir una marca de agua a la imagen de fondo resultante antes de guardarla?

Sí. Puedes añadir una marca de agua como forma o imagen en una copia de la diapositiva de trabajo (colocada detrás de otro contenido) y luego exportar. Esto te permite generar una imagen de fondo con la marca de agua incorporada.

¿Puedo obtener el fondo de un diseño o maestra específicos sin vincularlo a una diapositiva existente?

Sí. Accede a la maestra o diseño deseado, aplícalo a una diapositiva temporal con el tamaño requerido y exporta esa diapositiva para obtener el fondo derivado de ese diseño o maestra.

¿Existen limitaciones de licencia que afecten la exportación de imágenes?

Las funciones de renderizado están completamente disponibles con una licencia válida. En modo de evaluación, la salida puede incluir limitaciones como una marca de agua. Activa la licencia una vez por proceso antes de ejecutar exportaciones por lotes.