Browse our Products

Aspose.Slides for Python via .NET 24.4 Release Notes

New Features and Enhancements

KeySummaryCategoryRelated Documentation
SLIDESNET-44443Zip64 format support for output documentsFeaturehttps://docs.aspose.com/slides/python-net/save-presentation/
SLIDESNET-44338Detect whether macros are password protectedFeaturehttps://docs.aspose.com/slides/python-net/presentation-via-vba/
SLIDESNET-34007Add support for PPTX to XML exportFeature
SLIDESNET-44455Text is not extracted from group shapesEnhancementhttps://docs.aspose.com/slides/python-net/extract-text-from-presentation/
SLIDESNET-44442Individual text boxes are generated when importing PDF to PPTXEnhancement

Other Improvements and Changes

KeySummaryCategoryRelated Documentation
SLIDESPYNET-164Use Aspose.Slides for Net 24.4 featuresEnhancementhttps://releases.aspose.com/slides/net/release-notes/2024/aspose-slides-for-net-24-4-release-notes/
SLIDESPYNET-131Converting math equations to LaTeXFeature
SLIDESPYNET-121Aspose.Slides for Python creates a corrupted presentationBug

Public API Changes

Introducing a new Modern API

Due to changes in Aspose.Slides for .NET, since version 24.4 we are starting transition to the new Modern API.

This means that all public API members that have the following classes in their signature will be removed in version 24.8:

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

For more details, see: Modern API

Added new classes and enums:

Methods/properties to be removed and their replacement in Modern API

The following methods and properties are declared as obsolete and will be removed in version 24.8.

Presentation Class

Method SignatureReplacement Method Signature
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)Will be deleted completely
save(fname, format, options, response, show_inline)Will be deleted completely
print()Will be deleted completely
print(printer_settings)Will be deleted completely
print(printer_name)Will be deleted completely
print(printer_settings, pres_name)Will be deleted completely

Slide Class

Method SignatureReplacement Method Signature
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: ITiffOptions)
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)Will be deleted completely
render_to_graphics(options, graphics, scale_x, scale_y)Will be deleted completely
render_to_graphics(options, graphics, rendering_size)Will be deleted completely

Shape Class

Method SignatureReplacement Method Signature
get_thumbnail()get_image()
get_thumbnail(bounds, scale_x, scale_y)get_image(bounds, scale_x, scale_y)

ImageCollection Class

Method SignatureReplacement Method Signature
add_image(image: aspose.pydrawing.Image)add_image(image)

PPImage Class

Method/Property SignatureReplacement Method/Property Signature
replace_image(new_image: aspose.pydrawing.Image)replace_image(new_image)
system_imageimage

ImageWrapperFactory Class

Method SignatureReplacement Method Signature
create_image_wrapper(image: aspose.pydrawing.Image)create_image_wrapper(image: IImage)

PatternFormat Class

Method SignatureReplacement Method Signature
get_tile_image(background, foreground)get_tile(background, foreground)
get_tile_image(style_color)get_tile(style_color)

IPatternFormatEffectiveData Class

Method SignatureReplacement Method Signature
get_tile_image(background, foreground)get_tile_i_image(background, foreground)

Output Class

Method SignatureReplacement Method Signature
add(path, image: aspose.pydrawing.Image)add(path, image: IImage)

Convert PowerPoint Presentation to video with animations and transitions

We’ve added a new feature: PowerPoint presentation-to-video conversion. This feature includes:

  • animation of transitions between slides
  • shape animation
  • text animation

Aspose.Slides for Python via .NET can now play presentations and generate a set of frames with a specific frame per second (FPS). Those frames can then be used to create a video through tools like FFmpeg.

This Python code demonstrates a presentation to video export operation with frames set at 30 FPS:

import aspose.slides as slides

fps = 30

with slides.Presentation("animated.pptx") as presentation:
    with slides.export.PresentationEnumerableFramesGenerator(presentation, fps) as frames_generator:
        for frame_args in frames_generator.enumerate_frames(presentation.slides):
            frame_args.get_frame().save("frame_{}.png".format(frame_args.frames_generator.frame_index))

The PresentationEnumerableFramesGenerator class is a source that sequentially generates individual animation effects. Method PresentationEnumerableFramesGenerator.enumerate_frames allow you to enumerate the frames and save them to disk or write to a video stream.

PdfOptions.rasterize_unsupported_font_styles property added

Added a new property PdfOptions.rasterize_unsupported_font_styles which indicates whether text should be rasterized as a bitmap and saved to PDF when the font does not support bold styling. This approach can enhance the quality of text in the resulting PDF for certain fonts.

Example:

import aspose.slides as slides

with slides.Presentation() as pres:
    pdf_options = slides.export.PdfOptions()
    pdf_options.rasterize_unsupported_font_styles = True
    pres.save("pres.pdf", slides.export.SaveFormat.PDF, pdf_options)

PptxOptions.zip64_mode property added - ZIP64 format support

A new property PptxOptions.zip64_mode specifies whether the ZIP64 format is used for the Presentation document.

Example:

import aspose.slides as slides

with slides.Presentation("demo.pptx") as pres:
    pptx_options = slides.export.PptxOptions()
    pptx_options.zip_64_mode = slides.export.Zip64Mode.ALWAYS
    pres.save("demo-zip64.pptx", slides.export.SaveFormat.PPTX, pptx_options)

ZoomObject.image property replaced with ZoomObject.zoom_image

Instead of ZoomObject.image, use the ZoomObject.zoom_image property:

import aspose.slides as slides

with slides.Presentation("pres.pptx") as pres:
    zoom_frame = pres.slides[0].shapes.add_zoom_frame(150, 20, 50, 50, pres.slides[1])
    image = pres.images.add_image(slides.Images.from_file("image.png"))
    zoom_frame.zoom_image = image