API Moderne

Introduction

Actuellement, la bibliothèque Aspose.Slides pour Python via .NET a des dépendances dans son API publique sur les classes suivantes de aspose.pydrawing :

  • aspose.pydrawing.Graphics
  • aspose.pydrawing.Image
  • aspose.pydrawing.Bitmap
  • aspose.pydrawing.printing.PrinterSettings

À partir de la version 24.4, cette API publique est déclarée obsolète en raison de changements dans l’API publique d’Aspose.Slides pour .NET.

Pour se débarrasser des dépendances sur aspose.pydrawing dans l’API publique, nous avons ajouté ce que nous appelons “API Moderne”. Les méthodes utilisant aspose.pydrawing.Image et aspose.pydrawing.Bitmap sont déclarées obsolètes et seront remplacées par les méthodes correspondantes de l’API Moderne. Les méthodes utilisant aspose.pydrawing.Graphics sont déclarées obsolètes et leur support sera supprimé de l’API publique.

La suppression de l’API publique obsolète avec des dépendances sur aspose.pydrawing sera effectuée dans la version 24.8.

API Moderne

Ajout des classes et énumérations suivantes à l’API publique :

Un scénario typique d’utilisation de la nouvelle API peut ressembler à ceci :

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

with slides.Presentation() as pres:
    image = slides.Images.from_file("image.png")
    pp_image = pres.images.add_image(image)
    pres.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 10.0, 10.0, 100.0, 100.0, pp_image)
    with pres.slides[0].get_image(drawing.Size(1920, 1080)) as slide_image:
        slide_image.save("slide1.jpeg", slides.ImageFormat.JPEG)

Remplacer l’ancien code par l’API Moderne

Pour faciliter la transition, l’interface du nouvel IImage répète les signatures séparées des classes Image et Bitmap. En général, vous aurez juste besoin de remplacer l’appel à l’ancienne méthode utilisant aspose.pydrawing par la nouvelle.

Obtenir une vignette de diapositive

Code utilisant une API obsolète :

import aspose.slides as slides

with slides.Presentation("pres.pptx") as pres:
    pres.slides[0].get_thumbnail().save("slide1.png")

API Moderne :

import aspose.slides as slides

with slides.Presentation("pres.pptx") as pres:
    with pres.slides[0].get_image() as image:
        image.save("slide1.png")

Obtenir une vignette de forme

Code utilisant une API obsolète :

import aspose.slides as slides

with slides.Presentation("pres.pptx") as pres:
    pres.slides[0].shapes[0].get_thumbnail().save("shape.png")

API Moderne :

import aspose.slides as slides

with slides.Presentation("pres.pptx") as pres:
    with pres.slides[0].shapes[0].get_image() as image:
        image.save("shape.png")

Obtenir une vignette de présentation

Code utilisant une API obsolète :

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

with slides.Presentation("pres.pptx") as pres:
    thumbnails = pres.get_thumbnails(slides.export.RenderingOptions(), drawing.Size(1980, 1028))

    for idx, thumbnail in enumerate(thumbnails):
        thumbnail.save(f"slide_{idx}.png", drawing.imaging.ImageFormat.png)

API Moderne :

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

with slides.Presentation("pres.pptx") as pres:
    thumbnails = pres.get_images(slides.export.RenderingOptions(), drawing.Size(1980, 1028))

    for idx, thumbnail in enumerate(thumbnails):
        thumbnail.save(f"slide_{idx}.png", slides.ImageFormat.PNG)

Ajouter une image à une présentation

Code utilisant une API obsolète :

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

with slides.Presentation() as pres:
    image = drawing.Image.from_file("image.png")
    pp_image = pres.images.add_image(image)
    pres.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 10.0, 10.0, 100.0, 100.0, pp_image)

API Moderne :

import aspose.slides as slides

with slides.Presentation() as pres:
    image = slides.Images.from_file("image.png")
    pp_image = pres.images.add_image(image)
    pres.slides[0].shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 10.0, 10.0, 100.0, 100.0, pp_image)

Méthodes/propriétés à supprimer et leur remplacement dans l’API Moderne

Classe Presentation

Signature de méthode Signature de méthode de remplacement
get_thumbnails(options) get_images(options)
get_thumbnails(options, slides) get_images(options, slides)
get_thumbnails(options, scale_x, scale_y) get_images(options, scale_x, scale_y)
get_thumbnails(options, slides, scale_x, scale_y) get_images(options, slides, scale_x, scale_y)
get_thumbnails(options, image_size) get_images(options, image_size)
get_thumbnails(options, slides, image_size) get_images(options, slides, image_size)
save(fname, format, response, show_inline) Sera complètement supprimé
save(fname, format, options, response, show_inline) Sera complètement supprimé
print() Sera complètement supprimé
print(printer_settings) Sera complètement supprimé
print(printer_name) Sera complètement supprimé
print(printer_settings, pres_name) Sera complètement supprimé

Classe Slide

Signature de méthode Signature de méthode de remplacement
get_thumbnail() get_image()
get_thumbnail(scale_x, scale_y) get_image(scale_x, scale_y)
get_thumbnail(image_size) get_image(image_size)
get_thumbnail(options) get_image(options: ITiffOotions)
get_thumbnail(options) get_image(options: IRenderingOptions)
get_thumbnail(options, scale_x, scale_y) get_image(options, scale_x, scale_y)
get_thumbnail(options, image_size) get_image(options, image_size)
render_to_graphics(options, graphics) Sera complètement supprimé
render_to_graphics(options, graphics, scale_x, scale_y) Sera complètement supprimé
render_to_graphics(options, graphics, rendering_size) Sera complètement supprimé

Classe Shape

Signature de méthode Signature de méthode de remplacement
get_thumbnail() get_image()
get_thumbnail(bounds, scale_x, scale_y) get_image(bounds, scale_x, scale_y)

Classe ImageCollection

Signature de méthode Signature de méthode de remplacement
add_image(image: aspose.pydrawing.Image) add_image(image)

Classe PPImage

Signature de méthode/propriété Signature de méthode/propriété de remplacement
replace_image(new_image: aspose.pydrawing.Image) replace_image(new_image)
system_image image

Classe ImageWrapperFactory

Signature de méthode Signature de méthode de remplacement
create_image_wrapper(image: aspose.pydrawing.Image) create_image_wrapper(image)

Classe PatternFormat

Signature de méthode Signature de méthode de remplacement
get_tile_image(background, foreground) get_tile(background, foreground)
get_tile_image(style_color) get_tile(style_color)

Classe IPatternFormatEffectiveData

Signature de méthode Signature de méthode de remplacement
get_tile_image(background, foreground) get_tile_i_image(background, foreground)

Classe Output

Signature de méthode Signature de méthode de remplacement
add(path, image: aspose.pydrawing.Image) add(path, image)

Le support de l’API pour aspose.pydrawing.Graphics sera interrompu

Les méthodes avec aspose.pydrawing.Graphics sont déclarées obsolètes et leur support sera supprimé de l’API publique.

La partie de l’API qui l’utilise sera supprimée :

  • aspose.pydrawing.Slide.render_to_graphics(options, graphics)
  • aspose.pydrawing.Slide.render_to_graphics(options, graphics, scale_x, scale_y)
  • aspose.pydrawing.Slide.render_to_graphics(options, graphics, rendering_size)