Browse our Products

Aspose.Slides for Java 22.9 Release Notes

KeySummaryCategoryRelated Documentation
SLIDESNET-43263Getting values of Timing/Repeat option of animated shapeEnhancementhttps://docs.aspose.com/slides/net/shape-animation/
SLIDESNET-43296Get a list of all unknown fontsFeaturehttps://docs.aspose.com/slides/net/font-substitution/
SLIDESJAVA-38292Use Aspose.Slides for Net 22.9 featuresEnhancement
SLIDESJAVA-38810Getting values of Timing/Repeat option of animated shapeEnhancementhttps://docs.aspose.com/slides/java/shape-animation/
SLIDESJAVA-38862HTML text is imported incorrectlyBughttps://docs.aspose.com/slides/java/manage-paragraph/#import-html-text-in-paragraphs
SLIDESJAVA-38889Loading a presentation throws ArgumentOutOfRangeExceptionBughttps://docs.aspose.com/slides/java/open-presentation/
SLIDESJAVA-38884PPTX to PNG: Different order of dataBughttps://docs.aspose.com/slides/java/powerpoint-charts/

Public API Changes

New method GetSubstitutions has been added to the IFontsManager interface

GetSubstitutions, a new method, has been added to the IFontsManager interface and FontsManager class.

The GetSubstitutions method can be used to get information about fonts that will be replaced when a presentation is rendered.

Method declaration:

/**
 * <p>
 * Gets the information about fonts that will be replaced on the presentation's rendering.
 * </p>
 * @return Collection of all fonts substitution {@link FontSubstitutionInfo}.
 */
public final IGenericEnumerable<FontSubstitutionInfo> getSubstitutions()
/**
 * <p>
 * This structure represents the information about the font replacement when it will be rendered.
 * </p>
 */
public class FontSubstitutionInfo
{
    /**
     * <p>
     * Indicates source font name in presentation.
     * Read-only {@link String}
     * </p>
     */
    public final String getOriginalFontName()

    /**
     * <p>
     * Indicates the replacement font name for the original font.
     * Read-only {@link String}
     * </p>
     */
    public final String getSubstitutedFontName()
}

This Java code shows you how the GetSubstitutions method is used to get all fonts that will be substituted when a presentation is rendered:

Presentation pres = new Presentation("pres.pptx");
try {
    for (FontSubstitutionInfo fontSubstitution : pres.getFontsManager().getSubstitutions())
    {
        System.out.println(fontSubstitution.getOriginalFontName() + " -> " + fontSubstitution.getSubstitutedFontName());
    }
} finally {
    if (pres != null) pres.dispose();
}

New Animation Timing methods were added - RepeatUntilEndSlide and RepeatUntilNextClick

These new methods have been added to the Timing class: setRepeatUntilEndSlide, getRepeatUntilEndSlide, setRepeatUntilNextClick and getRepeatUntilNextClick.

Methods declaration:

/**
 * <p>
 *  This attribute specifies if the effect will repeat until the end of the slide.
 *  Read/write {@code boolean}.
 *  </p>
 */
public final boolean getRepeatUntilEndSlide()

/**
 * <p>
 *  This attribute specifies if the effect will repeat until the end of the slide.
 *  Read/write {@code boolean}.
 *  </p>
 */
public final void setRepeatUntilEndSlide(boolean value)

/**
 * <p>
 *  This attribute specifies if the effect will repeat until the next click.
 *  Read/write {@code boolean}.
 *  </p>
 */
public final boolean getRepeatUntilNextClick()

/**
 * <p>
 *  This attribute specifies if the effect will repeat until the next click.
 *  Read/write {@code boolean}.
 *  </p>
 */
public final void setRepeatUntilNextClick(boolean value)

Example that shows how to change an effect Timing/Repeat setting to “Until End of Slide”:

Presentation presentation = new Presentation("demo.pptx");
try {
    // Gets the effects sequence for the first slide
    ISequence effectsSequence = presentation.getSlides().get_Item(0).getTimeline().getMainSequence();
    
    // Gets the first effect of the main sequence.
    IEffect effect = effectsSequence.get_Item(0);

    // Changes the effect Timing/Repeat to "Until End of Slide"
    effect.getTiming().setRepeatUntilEndSlide(true);
} finally {
    if (presentation != null) presentation.dispose();
}