Aspose.Slides for .NET 16.4.0 Release Notes

SLIDESNET-36656Slides 15.6 performance regressionInvestigation
SLIDESNET-26393Export to SWF formatFeature
SLIDESNET-37227Add image in table cell without FillModeEnhancement
SLIDESNET-37088Support for the property of Show axis without labelingEnhancement
SLIDESNET-36934Getting Series data Item text for automatic chart labelsEnhancement
SLIDESNET-36910Save as SWF)Enhancement
SLIDESNET-36886Support to get the X and Y coordinates of Paragraphs and PortionsEnhancement
SLIDESNET-36740PPTX: Get an OleObjectFrame Type/Extension?Enhancement
SLIDESNET-34480Support for showing/hiding chart legends enteriesEnhancement
SLIDESNET-37241Add support of all known BehaviorPropertiesEnhancement
SLIDESNET-37364Exception on presentation loadBug
SLIDESNET-37363Exception reading animation group failedBug
SLIDESNET-37389Latin Font is not read properly from slide shape textBug
SLIDESNET-37385PptxReadException on presentation loadBug
SLIDESNET-37377Wrong number format of series data labels.Bug
SLIDESNET-37369Extra border appears around metafile in generated PDFBug
SLIDESNET-37365Gradient improperly rendered in generated pdf and thumbnailsBug
SLIDESNET-37355Missing chart on generated pdfBug
SLIDESNET-37346Table is rendered incorrectlyBug
SLIDESNET-37335Incorrect text color in table cell color returnedBug
SLIDESNET-37334OuterShadowEffect returns nullBug
SLIDESNET-37333Text become transparent on saving presentationBug
SLIDESNET-37332Picture borders appeared on saving presentationBug
SLIDESNET-37319Font size changed in saved PptxBug
SLIDESNET-37315Hyperlink.TargetSlide returns nullBug
SLIDESNET-37314Error loading presentationBug
SLIDESNET-37313Can not set position connector shapeBug
SLIDESNET-37311Symbols position gets changed in saved presentationBug
SLIDESNET-37306Gradient fill of shape is missing in generated thumbnailBug
SLIDESNET-37305Error saving presentationBug
SLIDESNET-37304Distributed text alignment is lost after load and saveBug
SLIDESNET-37303Different text column layouting in Debug and Release modesBug
SLIDESNET-37302NullPointerException on createPortionFormatEffectiveBug
SLIDESNET-37301Protected view appear for saved presentationsBug
SLIDESNET-37297PowerPoint stops working after ppt to pptx conversionBug
SLIDESNET-37285Problem rendering a presentationBug
SLIDESNET-37275Missing chart on generated pdfBug
SLIDESNET-37272Repair message on presentation saveBug
SLIDESNET-37270Problem while merging slidesBug
SLIDESNET-37267Incorrect shape on slide cloningBug
SLIDESNET-37266Difference in shape size on slide cloningBug
SLIDESNET-37265Difference in size of barBug
SLIDESNET-37257Text alignment changed after saving presentationBug
SLIDESNET-37237PptxReadException on ppt loadBug
SLIDESNET-37236PptxException on presentation loadBug
SLIDESNET-37234Incorrect text on generated pdfBug
SLIDESNET-37226Found a shapes with identical IDs exception on presentation loadBug
SLIDESNET-37223Shadow effect appeared on thumbnailBug
SLIDESNET-37218NotImplementedException for type = application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml on presentation loadBug
SLIDESNET-37217NotImplementedException for type = application/xml on presentation loadBug
SLIDESNET-37209Unknown file format on ppt loadBug
SLIDESNET-37103Slide number lost on load and saveBug
SLIDESNET-37098PptUnsupportedFormatException on presentation loadingBug
SLIDESNET-36932Null reference exception is thrown on loading pptBug
SLIDESNET-36931PptUnsupportedFormatException on loading pptBug
SLIDESNET-36926Found a shapes with identical IDs!!! error on loading pptBug
SLIDESNET-36925ArgumentException An item with the same key has already been added on ppt loadBug
SLIDESNET-36924Input string was not in a correct format on loading pptBug
SLIDESNET-36876Ole frame getting resized on double clickingBug
SLIDESNET-36214ActiveX controls in slides are inacccessableBug
SLIDESNET-35969Not able to get text from Notes in presentations saved as .odp filesBug
SLIDESNET-34987Table Cell borders are showing white marks in cornorsBug
SLIDESNET-34794Vertical text is improperly rendered in generated PDF and thumbnailBug
SLIDESNET-34583OleObjectFrames returns empty LinkPath for linked ole framesBug

Public API Changes

Aspose.Slides.Animation.IBehaviorProperties interface and BehaviorProperties class have been renamed to IBehaviorPropertyCollection and BehaviorPropertyCollection, changes in public API has been made

Aspose.Slides.Animation.IBehaviorProperties has been renamed to IBehaviorPropertyCollection and inherits IList instead of IList now. Aspose.Slides.Animation.BehaviorProperties has been renamed to BehaviorPropertyCollection.

Following methods were removed:

public void CopyTo(PropertyType[] array, int arrayIndex)
public PropertyType this[int index]
public IEnumerator<PropertyType> GetEnumerator()

Following methods were marked as obsolete:

public void Add(PropertyType item)
public int IndexOf(PropertyType item)
public void Insert(int index, PropertyType item)
public bool Remove(PropertyType item)
public bool Contains(PropertyType item)

Following methods were added:

public void Add(IBehaviorProperty item)
public void Add(string propertyValue)

public int IndexOf(IBehaviorProperty item)
public int IndexOf(string propertyValue)

public void Insert(int index, IBehaviorProperty item)
public void Insert(int index, string propertyValue)

public void CopyTo(IBehaviorProperty[] array, int arrayIndex)

public bool Remove(IBehaviorProperty item)
public bool Remove(string propertyValue)

public bool Contains(IBehaviorProperty item)
public bool Contains(string propertyValue)

public IBehaviorProperty this[int index]

public IEnumerator<IBehaviorProperty> GetEnumerator()

Enum Aspose.Slides.Animation.PropertyType has been marked as Obsolete

PropertyType enum was replaced by BehaviorProperty class, and planned to be removed in November’s release.

[Obsolete("Use BehaviorProperty type instead. This type will be removed after 01.11.2016.")]
public enum PropertyType

GetCoordinates method has been added to IPortion and Portion

The new method GetCoordinates has been added to IPortion and Portion which allows of retrieveing the coordinates of the beginning of the portion:

AutoShape shape = (AutoShape)pres.Slides[0].Shapes[0];
TextFrame textFrame = (TextFrame)shape.TextFrame;
foreach (var paragraph in textFrame.Paragraphs)
  foreach (Portion portion in paragraph.Portions)
    PointF point = portion.GetCoordinates();

GetRect method has been added to IParagraph and Paragraph

The new method GetRect() has been added. It allows to get paragraph bounds rectangle.

AutoShape shape = (AutoShape)pres.Slides[0].Shapes[0];
var textFrame = (TextFrame)shape.TextFrame
RectangleF rect = ((Paragraph) textFrame.Paragraphs[0]).GetRect()

New interface Aspose.Slides.Animation.IBehaviorProperty and class Aspose.Slides.Animation.BehaviorProperty have been added

New BehaviorProperty class replaces and expands PropertyType enum functionality. Now it allows you to use the full set of predefined properties and custom properties, which are not described in the specification.

Instances for predefined time animate values can be retrieved through corresponding static properties, for example:


represent ppt_c, style.color and fill.opacity values from list.

The another way is the using of GetOrCreateByValue(string) method:


Backward compatibility method was added only to simplify upgrade to 16.4 version for the customers which actively use PropertyType enum


This methods (as well as properties) create only one instance for each property value. For example two calls of BehaviorProperty.PptC will return the same instance. This is true for custom properties as well.

Instance properties of this class are described by the IBehaviorProperty interface

public interface IBehaviorProperty
  /// <summary>
  /// Value of the property
  /// </summary>
  string Value { get; }
  /// <summary>
  /// Shows if this property does not belong to the predefined properties list in the specification:
  /// </summary>
  bool IsCustom { get; }

New method GetActualLabelText() has been added to IDataLabel interface and DataLabel class

Returns actual label text based on DataLabelFormat settings or TextFrameForOverriding.Text value.

using (Presentation pres = new Presentation())
	IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.Bubble, 50, 50, 500, 400);
	chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowBubbleSize = true;
	chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowCategoryName = true;
	chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowValue = true;
	chart.ChartData.Series[0].Labels.DefaultDataLabelFormat.ShowSeriesName = true;

	IDataLabelCollection labels = chart.ChartData.Series[0].Labels;
	Console.WriteLine(labels[0].GetActualLabelText()); // "Y-Values; 0.7; 2.7; 10"
	Console.WriteLine(labels[1].GetActualLabelText()); //"Y-Values; 1.8; 3.2; 4"
	Console.WriteLine(labels[2].GetActualLabelText()); //"Y-Values; 2.6; 0.8; 8"

Property RelatedLegendEntry has been added to ChartDataPoint and IChartDataPoint classes

Represents legend entry related with the data point.

IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.Pie, 50, 50, 500, 400);
chart.ChartData.Series[0].DataPoints[0].RelatedLegendEntry.Hide = true;

Property RelatedLegendEntry has been added to ChartSeries and IChartSeries classes

Represents legend entry related with the series.

IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 500, 400);
chart.ChartData.Series[0].RelatedLegendEntry.Hide = true;

Property RelatedLegendEntry has been added to Trendline and ITrendline classes

Represents legend entry related with the trendline.

IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 500, 400);
chart.ChartData.Series[0].Trendlines[0].RelatedLegendEntry.Hide = true;

Swf and SwfNotes values have been added to Aspose.Slides.Export.SaveFormat enumeration

New export format for an Adobe Flash file format (SWF) has been added.

Swf and SwfNotes value have been added to Aspose.Slides.Export.SaveFormat enumeration for exporting presentations to SWF format.

The new public class SwfOptions has been added to Aspose.Slides.Export namespace. By the using of an instance of this class, it is possible to control how a presentation is saved to Swf format.

To export presentation to SWF format the following code snippet can be used:

using (Presentation pres = new Presentation("Presentation1.pptx"))
   SwfOptions swfOptions = new SwfOptions();
   swfOptions.ViewerIncluded = false;
   // Saving presentation
   pres.Save("output.swf", SaveFormat.Swf, swfOptions);
   swfOptions.ViewerIncluded = true;
   // Saving notes pages
   pres.Save("outputNotes.swf", SaveFormat.SwfNotes, swfOptions);

TextAlignment.Distributed value has been added to TextAlignment enum

It represents alignment of text distributed along the whole element.