API Moderna
Introducción
Históricamente, Aspose Slides tiene una dependencia de java.awt y tiene en la API pública las siguientes clases de allí:
A partir de la versión 24.4, esta API pública se declara obsoleta.
Con el fin de deshacerse de las dependencias en estas clases, añadimos la llamada “API Moderna” - es decir, la API que debe usarse en lugar de la obsoleta, cuyas firmas contienen dependencias en BufferedImage. Graphics2D se declara obsoleta y su soporte se elimina de la API pública de Slides.
La eliminación de la API pública obsoleta con dependencias en System.Drawing estará en la versión 24.8.
API Moderna
Se añadieron las siguientes clases y enumeraciones a la API pública:
- IImage - representa la imagen rasterizada o vectorial.
- ImageFormat - representa el formato de archivo de la imagen.
- Images - métodos para instanciar y trabajar con la interfaz IImage.
Por favor, tenga en cuenta que IImage es desechable (implementa la interfaz IDisposable y su uso debe estar envuelto en using o desecharse de otra manera conveniente).
Un escenario típico de uso de la nueva API puede verse como sigue:
from asposeslides.api import Presentation, SaveFormat, Images, ShapeType, ImageFormat
from javax.imageio import ImageIO
from java.io import File
from java.awt import Dimension
pres = Presentation();
# instanciar una instancia desechable de IImage desde el archivo en el disco.
image = Images.fromFile("image.png");
# crear una imagen de PowerPoint añadiendo una instancia de IImage a las imágenes de la presentación.
ppImage = pres.getImages().addImage(image);
image.dispose();
# añadir un marco de imagen en la diapositiva #1
pres.getSlides().get_Item(0).getShapes().addPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, ppImage);
# obtener una instancia de IImage representando la diapositiva #1.
slideImage = pres.getSlides().get_Item(0).getImage(Dimension(1920, 1080));
# guardar la imagen en el disco.
slideImage.save("slide1.jpeg", ImageFormat.Jpeg);
slideImage.dispose();
pres.dispose();
Reemplazando el código antiguo con la API Moderna
En general, necesitarás reemplazar la llamada al antiguo método usando ImageIO con el nuevo.
Antiguo:
image_format = "PNG"
buffImage = pres.getSlides().get_Item(0).getThumbnail(Dimension(1920, 1080))
ImageIO.write(buffImage, image_format, File("image.png"))
Nuevo:
slideImage = pres.getSlides().get_Item(0).getImage(Dimension(1920, 1080));
slideImage.save("image.png", ImageFormat.Png);
Obtener una miniatura de diapositiva
Código usando una API obsoleta:
from asposeslides.api import Presentation
from javax.imageio import ImageIO
from java.io import File
from java.awt import Dimension
pres = Presentation("pres.pptx");
slideImage = pres.getSlides().get_Item(0).getThumbnail();
image_format = "PNG"
ImageIO.write(slideImage, image_format, File("slide1.png"))
pres.dispose();
API Moderna:
from asposeslides.api import Presentation, ImageFormat
pres = Presentation("pres.pptx");
slideImage = pres.getSlides().get_Item(0).getImage();
slideImage.save("slide1.png", ImageFormat.Png);
slideImage.dispose();
pres.dispose();
Obtener una miniatura de forma
Código usando una API obsoleta:
from asposeslides.api import Presentation
from javax.imageio import ImageIO
from java.io import File
from java.awt import Dimension
pres = Presentation("pres.pptx");
shapeImage = pres.getSlides().get_Item(0).getShapes().get_Item(0).getThumbnail();
image_format = "PNG"
ImageIO.write(shapeImage, image_format, File("shape.png"))
pres.dispose();
API Moderna:
from asposeslides.api import Presentation, ImageFormat
pres = Presentation("pres.pptx");
shapeImage = pres.getSlides().get_Item(0).getShapes().get_Item(0).getImage();
shapeImage.save("shape.png", ImageFormat.Png);
shapeImage.dispose();
pres.dispose();
Obtener una miniatura de presentación
Código usando una API obsoleta:
from asposeslides.api import Presentation, RenderingOptions
from javax.imageio import ImageIO
from java.io import File
from java.awt import Dimension
pres = Presentation("pres.pptx");
image_format = "PNG"
rendering_options = RenderingOptions();
bitmaps = pres.getThumbnails(rendering_options, Dimension(1980, 1028));
for index in range(bitmaps.length):
thumbnail = bitmaps[index];
ImageIO.write(thumbnail, "PNG", File("slide" + str(index) + ".png"));
pres.dispose();
API Moderna:
from asposeslides.api import Presentation, RenderingOptions, ImageFormat
from java.awt import Dimension
pres = Presentation("pres.pptx");
rendering_options = RenderingOptions();
images = pres.getImages(rendering_options, Dimension(1980, 1028));
for index in range(images.length):
thumbnail = images[index];
thumbnail.save("slide" + str(index) + ".png", ImageFormat.Png);
thumbnail.dispose();
pres.dispose();
Añadir una imagen a una presentación
Código usando una API obsoleta:
from asposeslides.api import Presentation, ShapeType
from javax.imageio import ImageIO
from java.io import File
pres = Presentation();
bufferedImages = ImageIO.read(File("image.png"));
ppImage = pres.getImages().addImage(bufferedImages);
pres.getSlides().get_Item(0).getShapes().addPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, ppImage);
pres.dispose();
API Moderna:
from asposeslides.api import Presentation, ShapeType, Images
from java.awt import Dimension
pres = Presentation();
image = Images.fromFile("image.png");
ppImage = pres.getImages().addImage(image);
image.dispose();
pres.getSlides().get_Item(0).getShapes().addPictureFrame(ShapeType.Rectangle, 10, 10, 100, 100, ppImage);
pres.dispose();
Métodos que serán eliminados y su reemplazo en API Moderna
Presentación
Método Firma | Firma del Método Reemplazado |
---|---|
public final BufferedImage[] getThumbnails(IRenderingOptions options) | public final IImage[] getImages(IRenderingOptions options) |
public final BufferedImage[] getThumbnails(IRenderingOptions options, float scaleX, float scaleY) | public final IImage[] getImages(IRenderingOptions options, float scaleX, float scaleY) |
public final BufferedImage[] getThumbnails(IRenderingOptions options, int[] slides) | public final IImage[] getImages(IRenderingOptions options, int[] slides) |
public final BufferedImage[] getThumbnails(IRenderingOptions options, int[] slides, float scaleX, float scaleY) | public final IImage[] getImages(IRenderingOptions options, int[] slides, float scaleX, float scaleY) |
public final BufferedImage[] getThumbnails(IRenderingOptions options, int[] slides, Dimension imageSize) | public final IImage[] getImages(IRenderingOptions options, int[] slides, Dimension imageSize) |
public final BufferedImage[] getThumbnails(IRenderingOptions options, Dimension imageSize) | public final IImage[] getImages(IRenderingOptions options, Dimension imageSize) |
Forma
Firma de Método | Firma del Método Reemplazado |
---|---|
public final BufferedImage getThumbnail() | public final IImage getImage() |
public final BufferedImage getThumbnail(int bounds, float scaleX, float scaleY) | public final IImage getImage(int bounds, float scaleX, float scaleY) |
Diapositiva
Firma de Método | Firma del Método Reemplazado |
---|---|
public final BufferedImage getThumbnail() | public final IImage getImage() |
public final BufferedImage getThumbnail(float scaleX, float scaleY) | public final IImage getImage(float scaleX, float scaleY) |
public final BufferedImage getThumbnail(IRenderingOptions options) | public final IImage getImage(IRenderingOptions options) |
public final BufferedImage getThumbnail(IRenderingOptions options, float scaleX, float scaleY) | public final IImage getImage(IRenderingOptions options) |
public final BufferedImage getThumbnail(IRenderingOptions options, Dimension imageSize) | public final IImage getImage(IRenderingOptions options, Dimension imageSize) |
public final BufferedImage getThumbnail(ITiffOptions options) | public final IImage getImage(ITiffOptions options) |
public final BufferedImage getThumbnail(Dimension imageSize) | public final IImage getImage(Dimension imageSize) |
public final void renderToGraphics(IRenderingOptions options, Graphics2D graphics) | Se eliminará completamente |
public final void renderToGraphics(IRenderingOptions options, Graphics2D graphics, float scaleX, float scaleY) | Se eliminará completamente |
public final void renderToGraphics(IRenderingOptions options, Graphics2D graphics, Dimension renderingSize) | Se eliminará completamente |
Salida
Firma de Método | Firma del Método Reemplazado |
---|---|
public final IOutputFile add(String path, BufferedImage image) | public final IOutputFile add(String path, IImage image) |
Colección de Imágenes
Firma de Método | Firma del Método Reemplazado |
---|---|
public final IPPImage addImage(BufferedImage image) | public final IPPImage addImage(IImage image) |
PPImage
Firma de Método | Firma del Método Reemplazado |
---|---|
public final BufferedImage getSystemImage() | public final IImage getImage() |
Formato de Patrón
Firma de Método | Firma del Método Reemplazado |
---|---|
public final BufferedImage getTileImage(Color styleColor) | public final IImage getTile(Color styleColor) |
public final BufferedImage getTileImage(Color background, Color foreground) | public final IImage getTile(Color background, Color foreground) |
Datos Efectivos de Formato de Patrón
Firma de Método | Firma del Método Reemplazado |
---|---|
public final java.awt.image.BufferedImage getTileImage(Color background, Color foreground) | public final IImage getTileIImage(Color background, Color foreground) |
El soporte de API para Graphics2D será descontinuado
Los métodos con Graphics2D se declaran obsoletos y su soporte será eliminado de la API pública.
La parte de la API que lo usa será eliminada:
- public final void renderToGraphics(IRenderingOptions options, Graphics2D graphics)
- public final void renderToGraphics(IRenderingOptions options, Graphics2D graphics, float scaleX, float scaleY)
- public final void renderToGraphics(IRenderingOptions options, Graphics2D graphics, Dimension renderingSize)