Browse our Products

Aspose.Slides for .NET 21.1 Release Notes

KeySummaryCategory
SLIDESNET-42347Missing libgdiplus library when using Aspose.Slides on LinuxInvestigation
SLIDESNET-42306Possible memory leak investigation in APIInvestigation
SLIDESNET-42166High memory/time consumption when saving a presentationInvestigation
SLIDESNET-36994Support for Edit shape pointsFeature
SLIDESNET-42333Repair message after cloning attached (unrepairable on larger files)Bug
SLIDESNET-42332PptUnsupportedFormatException on loading presentationBug
SLIDESNET-42324SVG shape added to Slide have the incorrect sizeBug
SLIDESNET-42321IndexOutOfRangeException while invoking CreateShapeElements methodBug
SLIDESNET-42318Issue while showing page number on slideBug
SLIDESNET-42301VectorizeText option does not work in LinuxBug
SLIDESNET-42295Aspose.Slides giving true for two unequal layout slidesBug
SLIDESNET-42242PPTX to PNG conversion: Some images lose rotation in the outputBug
SLIDESNET-42221Export to image has bad formattingBug
SLIDESNET-42219Incorrect rendering of transparent PNG when converting PPTX to PDF/A-1bBug
SLIDESNET-42104Font weight not set on LinuxBug
SLIDESNET-41691Not defined CSS class in the output HTMLBug
SLIDESNET-40686High memory consumption while loading and saving pptxBug
SLIDESNET-40073Text spacing differs from PPTX to PDFBug

Public API Changes

Support of the shape points editing has been added

Support of the shape points editing has been added. New classes, interfaces, enums, and GeometryShape methods have been added.

New classes:

New interfaces:

New enums:

Public methods have been added to the GeometryShape class and its descendants:

Feature description:

Customization of the shape geometry assumes editing points of an existing shape.

Edit shape points

To provide the mentioned functionality GeometryPath class and IGeometryPath interface have been added. GeometryPath instance represents a geometry path of the IGeometryShape object.

To retrieve GeometryPath from the IGeometryShape instance GeometryPath method has been added. Please note that shapes may be built from a few smaller shapes (e.g. an “equal” sign) so this method returns an array of IGeometryPath objects.

To set GeometryPath to the shape two methods have been added: IGeometryShape.SetGeometryPath(IGeometryPath geometryPath) for solid shapes and SetGeometryPaths(IGeometryPath[] geometryPaths) for composite shapes.

IOutput.BindResource method has been added

BindResource method has been added to IOutput interface.

Method declaration:

/// <summary>
/// Binds resource to output file.
/// </summary>
/// <param name="outputFile">Output file.</param>
/// <param name="obj">Resource object.</param>
void BindResource(IOutputFile outputFile, object obj);

Return type of all IOutput.Add method overloads has been changed

Return type of all Add method overloads in IOutput interface has been changed from void to IOutputFile. All these methods now return IOutputFile object that has been created during adding to output.

New declaration of all IOutput.Add methods:

/// <summary>
/// Adds an output element for the context object.
/// </summary>
/// <param name="path">Output path.</param>
/// <param name="templateKey">The key of the template used for context object transformation before output.</param>
/// <param name="contextObject">Context object.</param>
/// <returns><see cref="IOutputFile"/> object for the context object.</returns>
IOutputFile Add<TContextObject>(string path, string templateKey, TContextObject contextObject);

/// <summary>
/// Adds an output element for the image.
/// </summary>
/// <param name="path">Output path.</param>
/// <param name="image">Image to output.</param>
/// <returns><see cref="IOutputFile"/> object for the image.</returns>
IOutputFile Add(string path, IPPImage image);

/// <summary>
/// Adds an output element for the image.
/// </summary>
/// <param name="path">Output path.</param>
/// <param name="image">Image to output.</param>
/// <returns><see cref="IOutputFile"/> object for the image.</returns>
IOutputFile Add(string path, Image image);

/// <summary>
/// Adds an output element for the font.
/// </summary>
/// <param name="path">Output path.</param>
/// <param name="font">Font to output.</param>
/// <param name="fontStyle">Font style.</param>
/// <returns><see cref="IOutputFile"/> object for the font.</returns>
IOutputFile Add(string path, IFontData font, FontStyle fontStyle);

/// <summary>
/// Adds an output element for the video.
/// </summary>
/// <param name="path">Output path.</param>
/// <param name="video">Video to output.</param>
/// <returns><see cref="IOutputFile"/> object for the video.</returns>
IOutputFile Add(string path, IVideo video);

/// <summary>
/// Adds an output element for the text content.
/// </summary>
/// <param name="path">Output path.</param>
/// <param name="textContent">Content to output.</param>
/// <returns><see cref="IOutputFile"/> object for the text content.</returns>
IOutputFile Add(string path, string textContent);

Two IOutput.Add method overloads have been added

Two Add method overloads have been added to IOutput.

Methods declaration:

/// <summary>
/// Adds an output element for the text content.
/// </summary>
/// <param name="path">Output path.</param>
/// <param name="textContent">Content to output.</param>
/// <returns>IOutputFile for the text content.</returns>
IOutputFile Add(string path, string textContent);

/// <summary>
/// Adds an output element for the image.
/// </summary>
/// <param name="path">Output path.</param>
/// <param name="image">Image to output.</param>
/// <returns><see cref="IOutputFile"/> object for the image.</returns>
IOutputFile Add(string path, Image image);

The first method overload adds an output element for the text content. It can be used to add custom javascript, css, html files to your document output. The second method overload adds an output element for the image. It can be used to add arbitrary image to your document output.

Methods usage example (adding hello world html page with presentation first slide preview):

Presentation pres = new Presentation();
WebDocumentOptions options = new WebDocumentOptions();
WebDocument document = new WebDocument(options);

string htmlContent = "<html><head><title>Sample page</title></head><body><h1>Just a sample page. Hello world!</h1><br/><img src="thumbnail.png"/></body></html>";
Bitmap thumbnail = pres.Slides[0].GetThumbnail();

document.Output.Add("index.html", htmlContent);
document.Output.Add("thumbnail.png", thumbnail);

document.Save();

Two IOutput.Add method overloads have been removed

Two Add method overloads have been removed from IOutput interface.

Removed methods signatures:

void Add(string path, IOutputFile outputFile);
void Add(string path, IOutputFile outputFile, object obj);