Crear miniaturas para diapositivas PPT en Python

Miniaturas son imágenes de tamaño pequeño que facilitan la visualización o el desplazamiento por la lista de imágenes. También se usan en MS PowerPoint para enumerar las diapositivas y navegar en un PPT. Al crear una aplicación de visor de PPT, es posible que deba generar imágenes en miniatura para las diapositivas. Para lograrlo, este artículo explica cómo crear miniaturas para diapositivas PPTX o PPT mediante programación en Python.

Biblioteca Python para crear miniaturas para diapositivas PPT

Para crear miniaturas de diapositivas en presentaciones PPTX o PPT, usaremos Aspose.Slides for Python via .NET. La biblioteca proporciona un montón de funciones para crear y manipular presentaciones de PowerPoint. Además, te permite convertir las presentaciones a otros formatos. Puede instalar la biblioteca en sus aplicaciones desde PyPI usando el siguiente comando.

> pip install aspose.slides

Crear miniaturas para diapositivas PPT en Python

Los siguientes son los pasos para crear miniaturas para una presentación en Python.

  1. Primero, cargue el archivo de presentación usando la clase Presentation.
  2. Recorra cada ISlide en la colección Presentation.slides.
  3. Cree una miniatura de cada diapositiva con el método ISlide.get_thumbnail(scale\x, scale\y) y obtenga la referencia de la miniatura en un objeto de Bitmap.
  4. Finalmente, guarde la miniatura en el formato de imagen deseado usando el método Bitmap.save(String, ImageFormat).

El siguiente ejemplo de código muestra cómo crear miniaturas para diapositivas en una presentación PPTX en Python.

import aspose.slides as slides
import aspose.pydrawing as drawing

with slides.Presentation("presentation.pptx") as pres:
    # Loop through slides
    for slide in pres.slides:

        # Create a full scale image
        bmp = slide.get_thumbnail(1, 1)

        # Save the image to disk in JPEG format
        bmp.save("Thumbnail_{i}.jpg".format(i = slide.slide_number), drawing.imaging.ImageFormat.jpeg)

Cree miniaturas de PPT con dimensiones personalizadas

A menudo, es posible que deba crear miniaturas de dimensiones personalizadas. Esto se puede lograr usando las propiedades Presentation.slide\size.size.width y Presentation.slide\size.size.height. Los siguientes son los pasos para crear miniaturas de dimensiones personalizadas.

  1. Primero, cree una instancia de la clase Presentation para cargar la presentación.
  2. Luego, especifique los valores deseados de ancho y alto.
  3. Obtenga valores escalados de X e Y.
  4. Recorra cada ISlide en la colección Presentation.slides.
  5. Genere una miniatura de cada diapositiva usando el método ISlide.get_thumbnail(X, Y) y obtenga la referencia de la miniatura en un objeto de Bitmap.
  6. Finalmente, guarde la miniatura en el formato de imagen deseado usando el método Bitmap.save(string, ImageFormat).

El siguiente ejemplo de código muestra cómo crear miniaturas de un PPTX con dimensiones personalizadas.

import aspose.slides as slides
import aspose.pydrawing as drawing

with slides.Presentation("presentation.pptx") as pres:
    # User defined dimension
    desiredX = 1200
    desiredY = 800

    # Get scaled values of X and Y
    ScaleX = (1.0 / pres.slide_size.size.width) * desiredX
    ScaleY = (1.0 / pres.slide_size.size.height) * desiredY

    # Loop through slides
    for slide in pres.slides:

        # Create thumbnail
        bmp = slide.get_thumbnail(ScaleX, ScaleY)

        # Save the image to disk in JPEG format
        bmp.save("Thumbnail_{i}.jpg".format(i = slide.slide_number), drawing.imaging.ImageFormat.jpeg)

Obtenga una licencia gratis

Puede usar Aspose.Slides for Python a través de .NET sin limitaciones de evaluación solicitando una licencia temporal.

Conclusión

En este artículo, ha aprendido a crear miniaturas de diapositivas PPT en Python. Además, ha visto cómo usar dimensiones personalizadas para escalar las imágenes en miniatura de PPT. Además, puede visitar la documentación para explorar otras funciones de Aspose.Slides for Python. Además, puede informarnos sobre sus consultas a través de nuestro foro.

Ver también