Browse our Products
Aspose.Slides for Python via .NET 24.4 Release Notes
New Features and Enhancements
| Key | Summary | Category | Related Documentation |
|---|---|---|---|
| SLIDESNET-44443 | Zip64 format support for output documents | Feature | https://docs.aspose.com/slides/python-net/save-presentation/ |
| SLIDESNET-44338 | Detect whether macros are password protected | Feature | https://docs.aspose.com/slides/python-net/presentation-via-vba/ |
| SLIDESNET-34007 | Add support for PPTX to XML export | Feature | |
| SLIDESNET-44455 | Text is not extracted from group shapes | Enhancement | https://docs.aspose.com/slides/python-net/extract-text-from-presentation/ |
| SLIDESNET-44442 | Individual text boxes are generated when importing PDF to PPTX | Enhancement |
Other Improvements and Changes
| Key | Summary | Category | Related Documentation |
|---|---|---|---|
| SLIDESPYNET-164 | Use Aspose.Slides for Net 24.4 features | Enhancement | https://releases.aspose.com/slides/net/release-notes/2024/aspose-slides-for-net-24-4-release-notes/ |
| SLIDESPYNET-131 | Converting math equations to LaTeX | Feature | |
| SLIDESPYNET-121 | Aspose.Slides for Python creates a corrupted presentation | Bug |
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.Graphicsaspose.pydrawing.Imageaspose.pydrawing.Bitmapaspose.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 Signature | Replacement 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 Signature | Replacement 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 Signature | Replacement Method Signature |
|---|---|
| get_thumbnail() | get_image() |
| get_thumbnail(bounds, scale_x, scale_y) | get_image(bounds, scale_x, scale_y) |
ImageCollection Class
| Method Signature | Replacement Method Signature |
|---|---|
add_image(image: aspose.pydrawing.Image) | add_image(image) |
PPImage Class
| Method/Property Signature | Replacement Method/Property Signature |
|---|---|
replace_image(new_image: aspose.pydrawing.Image) | replace_image(new_image) |
| system_image | image |
ImageWrapperFactory Class
| Method Signature | Replacement Method Signature |
|---|---|
create_image_wrapper(image: aspose.pydrawing.Image) | create_image_wrapper(image: IImage) |
PatternFormat Class
| Method Signature | Replacement Method Signature |
|---|---|
| get_tile_image(background, foreground) | get_tile(background, foreground) |
| get_tile_image(style_color) | get_tile(style_color) |
IPatternFormatEffectiveData Class
| Method Signature | Replacement Method Signature |
|---|---|
| get_tile_image(background, foreground) | get_tile_i_image(background, foreground) |
Output Class
| Method Signature | Replacement 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