Browse our Products

Aspose.Slides for Java 16.4.0 Release Notes

KeySummaryCategory
SLIDESJAVA-35179Compare performance of Aspose.Slides for Java and Aspose.Slides for NetInvestigation
SLIDESJAVA-34410Issue of Aspose.Slides for Java latest version with Maven RepositoryInvestigation
SLIDESJAVA-34009StackOverflow exception when using Aspose.Slides in MyEclipse enviornmentInvestigation
SLIDESJAVA-33823PPT to SWF conversionFeature
SLIDESJAVA-34863Support for reading password protected file in read only modeFeature
SLIDESJAVA-34376Support for Label Distance from chart AxisFeature
SLIDESJAVA-33331PPTX: Get an OleObjectFrameEx Type/Extension?Feature
SLIDESJAVA-33300Access to object properties in presentationFeature
SLIDESJAVA-14622Inserted AudioFrameEx is not played automaticallyEnhancement
SLIDESNET-37227Add image in table cell without fillmodeEnhancement
SLIDESNET-37088Support for the property of Show axis without labellingEnhancement
SLIDESNET-36934Getting Series data Item text for automatic chart labelsFeature
SLIDESNET-36886Support to get the X and Y coordinates of Paragraphs and PortionsFeature
SLIDESNET-34480Support for showing/hiding chart legends enteriesFeature
SLIDESNET-37241Add support of all known BehaviorPropertiesEnhancement
SLIDESJAVA-35427Investigate problem with hanging build #346Bug
SLIDESJAVA-35404Hyperlink.getTargetSlide() returns nullBug
SLIDESJAVA-35403NullPointerException on Presentation.save(…)Bug
SLIDESJAVA-35387The text is improperly rendered in generated thumbnailBug
SLIDESJAVA-35360Aspose does not work in tomcat web app -> Illegal argument exceptionBug
SLIDESJAVA-35341Error creating thumbnailBug
SLIDESJAVA-35325The image improperly rendered in generated thumbnailBug
SLIDESJAVA-35323Incorrect text color in table cell color returnedBug
SLIDESJAVA-35320Picture borders appeared on saving presentationBug
SLIDESJAVA-35319Text become transparent on saving presentationBug
SLIDESJAVA-35315Gradient fill of shape is missing in generated thumbnailBug
SLIDESJAVA-35313getOuterShadowEffect() returns nullBug
SLIDESJAVA-35311Hyperlink.getTargetSlide() returns nullBug
SLIDESJAVA-35307NullPointerException on createPortionFormatEffectiveBug
SLIDESJAVA-35306Error saving presentationBug
SLIDESJAVA-35286Problem while merging slidesBug
SLIDESJAVA-35285Text alignment changed after saving presentationBug
SLIDESJAVA-35268Default zoom is not workingBug
SLIDESJAVA-35266PptxReadException on ppt loadBug
SLIDESJAVA-35265PptxException on presentation loadBug
SLIDESJAVA-35260Exception on presentation loadBug
SLIDESJAVA-35256Unknown file format on ppt loadBug
SLIDESJAVA-35248Exception Found a shapes with identical IDs on presentation loadBug
SLIDESJAVA-35240Protected view and presentation repair messages appear for saved presentationsBug
SLIDESJAVA-35210Shadow effect appeared on load and save pptxBug
SLIDESJAVA-35173Slide number lost on load and saveBug
SLIDESJAVA-35172Asterisk appears with hyperlink on load and saveBug
SLIDESJAVA-35169ClassCastException on loading pptBug
SLIDESJAVA-35155The text is improperly rendered in generated thumbnailBug
SLIDESJAVA-35086NoClassDefFoundError on using Aspose.Slides in SolarisBug
SLIDESJAVA-35041Ole frame getting resized on double clickingBug
SLIDESJAVA-35038Internal hyperlinks failed to work in exported PDFBug
SLIDESJAVA-35028Rendering problems depending on order of font loadingBug
SLIDESJAVA-34925Incorrect picture rendering on exported pdfBug
SLIDESJAVA-34764The text is improperly rendered for text frame in generated PDFBug
SLIDESJAVA-34445Improperly rendered EMF image in generated PDFBug
SLIDESJAVA-34292Images rendered as black boxes in pdfBug
SLIDESJAVA-34269Images improperly rendered in generated thumbnailBug

Public API Changes

com.aspose.slides.IBehaviorProperties interface and BehaviorProperties class have been renamed to IBehaviorPropertyCollection and BehaviorPropertyCollection respectivelly

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

com.aspose.slides.IBehaviorProperties has been renamed to IBehaviorPropertyCollection and inherits IGenericList instead of IGenericList

com.aspose.slides.BehaviorProperties has been renamed to BehaviorPropertyCollection.

Following methods were removed:

public void copyTo(PropertyType[] array, int arrayIndex)
public PropertyType get_Item(int index)
public PropertyType set_Item(int index, PropertyType item)public IGenericEnumerator<PropertyType> iterator()

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 addItem(IBehaviorProperty item)
public void add(string propertyValue)

public int indexOfItem(IBehaviorProperty item)
public int indexOf(string propertyValue)

public void insertItem(int index, IBehaviorProperty item)
public void insert(int index, string propertyValue)

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

public boolean removeItem(IBehaviorProperty item)
public boolean remove(string propertyValue)

public boolean containsItem(IBehaviorProperty item)
public boolean contains(string propertyValue)

public IBehaviorProperty get_Item(int index)
public void set_Item(int index, IBehaviorProperty value)

public IGenericEnumerator<IBehaviorProperty> iterator()

Enum com.aspose.slides.PropertyType has been marked as Deprecated

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

@Deprecated()//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.getSlides().get_Item(0).getShapes().get_Item(0);
TextFrame textFrame = (TextFrame)shape.getTextFrame();
for (IParagraph paragraph : textFrame.getParagraphs()){
  for (IPortion portion : paragraph.getPortions()){
    Point2D.Float 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.getSlides().get_Item(0).getShapes().get_Item(0);
TextFrame textFrame = (TextFrame)shape.getTextFrame();
Rectangle2D.Float rect = ((Paragraph) textFrame.getParagraphs().get_Item(0)).getRect();

New interface com.aspose.slides.IBehaviorProperty and class com.aspose.slides.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 according https://msdn.microsoft.com/en-us/library/dd949052(v=office.15).aspx and https://msdn.microsoft.com/en-us/library/documentformat.openxml.presentation.attributename(v=office.15).aspx and also adds the ability to operate with custom properties which are not described in the specification.

All predefined properties could be get through the call of corresponding static property, for example:

BehaviorProperty.getPptC()
BehaviorProperty.getStyleColor()
BehaviorProperty.getFillOpacity()

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

Instance of the BehaviorProperty class could also be get though call of getOrCreateByValue static method. This method looks for existing behavior property by value or creates new custom one with the specified value.

BehaviorProperty.getOrCreateByValue("style.color")
BehaviorProperty.getOrCreateByValue("customProp")

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

BehaviorProperty.getByType(PropertyType.Color)

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

Instance properties of this class are described by the IBehaviorProperty interface

 /**
 * <p>
 * Represent property types for animation behavior.
 * Follows the list of properties from https://msdn.microsoft.com/en-us/library/dd949052(v=office.15).aspx
 * and https://msdn.microsoft.com/en-us/library/documentformat.openxml.presentation.attributename(v=office.15).aspx
 * </p>
 */
public interface IBehaviorProperty{

/**
 * <p>
 * Value of the property
 * </p>
 */
public String getValue();

/**
 * <p>
 * Shows if this property does not belong to the predefined properties list in the specification:
 * https://msdn.microsoft.com/en-us/library/dd949052(v=office.15).aspx
 * </p>
 */
public boolean isCustom();
}

New method getActualLabelText() has been added to DataLabel and IDataLabel classes

Returns actual label text based on DataLabelFormat settings or getTextFrameForOverriding().getText() value.

Presentation pres = new Presentation();
try {
  IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Bubble, 50, 50, 500, 400);

  chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowBubbleSize(true);
  chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowCategoryName(true);
  chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowValue(true);
  chart.getChartData().getSeries().get_Item(0).getLabels().getDefaultDataLabelFormat().setShowSeriesName(true);

  IDataLabelCollection labels = chart.getChartData().getSeries().get_Item(0).getLabels();

  System.out.println(labels.get_Item(0).getActualLabelText()); //"Y-Values; 0.7; 2.7; 10"
  System.out.println(labels.get_Item(1).getActualLabelText()); //"Y-Values; 1.8; 3.2; 4"
  System.out.println(labels.get_Item(2).getActualLabelText()); //"Y-Values; 2.6; 0.8; 8"
} finally {
  if (pres != null) pres.dispose();
}

Method getRelatedLegendEntry() has been added to ChartDataPoint and IChartDataPoint classes

Represents legend entry related with the data point.

IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.Pie, 50, 50, 500, 400);
chart.getChartData().getSeries().get_Item(0).getDataPoints().get_Item(0).getRelatedLegendEntry().setHide(true);

Method getRelatedLegendEntry() has been added to ChartSeries and IChartSeries classes

Represents legend entry related with the series.

IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 500, 400);
chart.getChartData().getSeries().get_Item(0).getRelatedLegendEntry().setHide(true);

Method getRelatedLegendEntry() has been added to Trendline and ITrendline classes

Represents legend entry related with the trendline.

IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 500, 400);
chart.getChartData().getSeries().get_Item(0).getTrendLines().get_Item(0).getRelatedLegendEntry().setHide(true);

Swf and SwfNotes values have been added to com.aspose.slides.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:

Presentation pres = new Presentation();
try {
  SwfOptions swfOptions = new SwfOptions();
  swfOptions.setViewerIncluded(false);

  // Saving presentation
  pres.save("output.swf", SaveFormat.Swf, swfOptions);

  swfOptions.setViewerIncluded(true);
  // Saving notes pages
  pres.save("outputNotes.swf", SaveFormat.SwfNotes, swfOptions);
} finally {
  if(pres != null) pres.dispose();
}

TextAlignment.Distributed value has been added to com.aspose.slides.TextAlignment enum

It represents alignment of text distributed along the whole element.

Aspose.Slides for Java 16.4.0 depends on Bouncy Castle API

Aspose.Slides for Java 16.4.0 depends on Bouncy Castle API. The library can be downloaded from Maven repository. It is also included into the release package \lib\3rd_party\bcprov-jdk15on-1.52.jar.