Browse our Products

Aspose.Slides for Python via .NET 25.2 Release Notes

New Features and Enhancements

KeySummaryCategoryRelated Documentation
SLIDESNET-44832Quality of thumbnails is very poor when converting shapes to imagesEnhancementhttps://docs.aspose.com/slides/net/create-shape-thumbnails/
SLIDESNET-43623Support for Trim Audio settings in PowerPoint presentationsFeaturehttps://docs.aspose.com/slides/net/audio-frame/
SLIDESNET-44794Getting volume value from audio framesFeaturehttps://docs.aspose.com/slides/net/audio-frame/
SLIDESNET-44793Extracting Fade In and Fade Out settings from audio framesFeaturehttps://docs.aspose.com/slides/net/audio-frame/
SLIDESNET-44791Merged letters in word when saving presentation to HTML and PNGFeature

Other Improvements and Changes

KeySummaryCategoryRelated Documentation
SLIDESPYNET-249Use Aspose.Slides for Net 25.2 featuresEnhancementhttps://releases.aspose.com/slides/net/release-notes/2025/aspose-slides-for-net-25-2-release-notes/

Public API Changes

Added New Properties: IAudioFrame.fade_in_duration, IAudioFrame.fade_out_duration, and IAudioFrame.volume_value

The new properties, fade_in_duration and fade_out_duration, have been added to the IAudioFrame interface and the AudioFrame class. These properties allow you to specify the duration of the fade-in and fade-out effects for the media.

The following code sample demonstrates how to add a new audio frame with embedded audio and configure its fade-in and fade-out durations:

import aspose.slides as slides

with slides.Presentation() as pres:
    # Add Audio Frame
    with open("sampleaudio.mp3", "rb") as in_file:
        audio = pres.audios.add_audio(in_file)
    audio_frame = pres.slides[0].shapes.add_audio_frame_embedded(50, 50, 100, 100, audio)

    # Set the duration of the starting fade for 200ms
    audio_frame.fade_in_duration = 200
    # Set the duration of the ending fade for 500ms
    audio_frame.fade_out_duration = 500

    pres.save("AudioFrameFade_out.pptx", slides.export.SaveFormat.PPTX)

The new property, volume_value, has also been added to the IAudioFrame interface and the AudioFrame class. This property allows you to adjust the audio volume as a percentage.

This code sample demonstrates how to add a new audio frame with embedded audio and set its volume to 85%:

import aspose.slides as slides

with slides.Presentation() as pres:
    with open("sampleaudio.mp3", "rb") as in_file:
        audio = pres.audios.add_audio(in_file)
    audio_frame = pres.slides[0].shapes.add_audio_frame_embedded(50, 50, 100, 100, audio)

    # Set the audio volume to 85%
    audio_frame.volume_value = 85

    pres.save("AudioFrameValue_out.pptx", slides.export.SaveFormat.PPTX)

Added New Properties: IAudioFrame.trim_from_start and IAudioFrame.trim_from_end

The new properties, trim_from_start and trim_from_end, have been added to the IAudioFrame interface and the AudioFrame class. These properties allow you to specify the duration to trim from the start and end of the media during playback.

The following code sample demonstrates how to add a new audio frame with embedded audio and set the trimming times:

import aspose.slides as slides

with slides.Presentation() as pres:
    with open("sampleaudio.mp3", "rb") as in_file:
        audio = pres.audios.add_audio(in_file)
    audio_frame = pres.slides[0].shapes.add_audio_frame_embedded(50, 50, 100, 100, audio)

    # Set the start trimming time 1.5 seconds
    audio_frame.trim_from_start = 1500

    # Set the end trimming time 2 seconds
    audio_frame.trim_from_end = 2000

    pres.save("AudioFrameTrim_out.pptx", slides.export.SaveFormat.PPTX)

Added New Properties: IRenderingOptions.disable_font_ligatures, ISVGOptions.disable_font_ligatures, and IHtmlOptions.disable_font_ligatures

The new property, disable_font_ligatures, has been added to the IRenderingOptions, ISVGOptions, and IHtmlOptions interfaces, as well as their implementation classes. This property allows you to control text rendering during export by enabling or disabling ligatures in the rendered text.

The following code sample demonstrates how to use the disable_font_ligatures property to disable ligatures during export.

import aspose.slides as slides

with slides.Presentation("example.pptx") as pres:
    # Configure export options
    options = slides.export.HtmlOptions()
    # Disable ligatures in rendered text
    options.disable_font_ligatures = True

    # Export presentation to HTML with disabled ligatures
    pres.save("output.html", slides.export.SaveFormat.HTML, options)

Added New Properties: ITextFrame.parent_shapeandITextFrame.parent_cell

The new properties, parent_shape and parent_cell, have been added to the ITextFrame interface and the TextFrame class.

  • The parent_shape property returns the parent shape or None if the parent object does not implement the IShape interface.
  • The parent_cell property returns the parent cell or None if the parent object does not implement the ICell interface.

The following examples demonstrate how these properties work:

import aspose.slides as slides

with slides.Presentation("SomePresentation.pptx") as presentation:
    auto_shape = presentation.slides[0].shapes[0]
	
    # These expressions are always true for AutoShape
    print(auto_shape.text_frame.parent_shape == auto_shape)
    print(auto_shape.text_frame.parent_cell is None)
import aspose.slides as slides

with slides.Presentation("SomePresentation.pptx") as presentation:
    table = presentation.slides[0].shapes[0]
    cell = table.rows[0][0]

    # These expressions are always true for Table
    print(cell.text_frame.parent_shape is None)
    print(cell.text_frame.parent_cell == cell)