Crear miniaturas de formas de presentación en Android

Visión general

En este tema, mostraremos cómo generar miniaturas de diapositivas en diferentes situaciones:

  • Generar una miniatura de forma dentro de una diapositiva.
  • Generar una miniatura de forma para una forma de diapositiva con dimensiones definidas por el usuario.
  • Generar una miniatura de forma dentro de los límites de la apariencia de la forma.

Generar una Miniatura de Forma a partir de una Diapositiva

Para generar una miniatura de forma a partir de cualquier diapositiva usando Aspose.Slides for Android via Java, haga lo siguiente:

  1. Cree una instancia de la clase Presentation.
  2. Obtenga la referencia de cualquier diapositiva utilizando su ID o índice.
  3. Obtenga la imagen en miniatura de la forma de la diapositiva referenciada con la escala predeterminada.
  4. Guarde la imagen en miniatura en el formato de imagen que prefiera.

Este código de ejemplo muestra cómo generar una miniatura de forma a partir de una diapositiva:

// Instanciar una clase Presentation que representa el archivo de presentación
Presentation pres = new Presentation("Thumbnail.pptx");
try {
    // Crear una imagen a escala completa
    IImage slideImage = pres.getSlides().get_Item(0).getShapes().get_Item(0).getImage();
    
    // Guardar la imagen en disco en formato PNG
    try {
          slideImage.save("output.png", ImageFormat.Png);
    } finally {
         if (slideImage != null) slideImage.dispose();
    }
} finally {
    if (pres != null) pres.dispose();
}

Generar una Miniatura con Factor de Escala Definido por el Usuario

Para generar la miniatura de forma de una diapositiva usando Aspose.Slides for Android via Java, haga lo siguiente:

  1. Cree una instancia de la clase Presentation.
  2. Obtenga la referencia de cualquier diapositiva utilizando su ID o índice.
  3. Obtenga la imagen en miniatura de la forma de la diapositiva referenciada con dimensiones definidas por el usuario.
  4. Guarde la imagen en miniatura en el formato de imagen que prefiera.

Este código de ejemplo muestra cómo generar una miniatura de forma basada en un factor de escala definido:

// Instanciar una clase Presentation que representa el archivo de presentación
Presentation pres = new Presentation("Thumbnail.pptx");
try {
    // Crear una imagen a escala completa
    IImage slideImage = pres.getSlides().get_Item(0).getShapes().get_Item(0).getImage(ShapeThumbnailBounds.Shape, 1, 1);

    // Guardar la imagen en disco en formato PNG
    try {
          slideImage.save("output.png", ImageFormat.Png);
    } finally {
         if (slideImage != null) slideImage.dispose();
    }
} finally {
    if (pres != null) pres.dispose();
}

Crear una Miniatura de Apariencia de Forma basada en Límites

Este método de crear miniaturas de formas permite a los desarrolladores generar una miniatura dentro de los límites de la apariencia de la forma. Tiene en cuenta todos los efectos de la forma. La miniatura de forma generada está restringida por los límites de la diapositiva. Para generar una miniatura de una forma de diapositiva dentro de los límites de su apariencia, haga lo siguiente:

  1. Cree una instancia de la clase Presentation.
  2. Obtenga la referencia de cualquier diapositiva utilizando su ID o índice.
  3. Obtenga la imagen en miniatura de la diapositiva referenciada con los límites de la forma como apariencia.
  4. Guarde la imagen en miniatura en el formato de imagen que prefiera.

Este código de ejemplo se basa en los pasos anteriores:

// Instanciar una clase Presentation que representa el archivo de presentación
Presentation pres = new Presentation("Thumbnail.pptx");
try {
    // Crear una imagen a escala completa
    IImage slideImage = pres.getSlides().get_Item(0).getShapes().get_Item(0).getImage(ShapeThumbnailBounds.Appearance, 1, 1);

    // Guardar la imagen en disco en formato PNG
    try {
          slideImage.save("output.png", ImageFormat.Png);
    } finally {
         if (slideImage != null) slideImage.dispose();
    }
} finally {
    if (pres != null) pres.dispose();
}

Preguntas frecuentes

¿Qué formatos de imagen se pueden usar al guardar miniaturas de forma?

PNG, JPEG, BMP, GIF, TIFF, y otros. Las formas también pueden exportarse como SVG vectorial al guardar el contenido de la forma como SVG.

¿Cuál es la diferencia entre los límites Shape y Appearance al renderizar una miniatura?

Shape utiliza la geometría de la forma; Appearance tiene en cuenta los efectos visuales (sombras, brillos, etc.).

¿Qué ocurre si una forma está marcada como oculta? ¿Se seguirá renderizando como miniatura?

Una forma oculta sigue formando parte del modelo y puede renderizarse; la bandera oculta afecta la visualización en la presentación pero no impide generar la imagen de la forma.

¿Se admiten formas grupales, gráficos, SmartArt y otros objetos complejos?

Sí. Cualquier objeto representado como Shape (incluidos GroupShape, Chart, y SmartArt) puede guardarse como miniatura o como SVG.

¿Afectan las fuentes instaladas en el sistema la calidad de las miniaturas de formas de texto?

Sí. Debe proporcionar las fuentes necesarias (o configurar sustituciones de fuentes) para evitar sustituciones no deseadas y reajuste del texto.