Aspose.Slides for Java 16.6.0 Release Notes

Key Summary Category
SLIDESJAVA-34923 Huge memory consumption for loading the presentation using Aspose.Slides for Java 15.5.0 Investigation
SLIDESNET-32388 Inserting video from web in presentation Feature
SLIDESNET-37410 Implement FillOverlay effect Feature
SLIDESJAVA-34301 Converting XML to PPT Bug
SLIDESJAVA-35531 NoClassDefFoundError exception for specific case when calling Presentation.getPresentationText in 1.6 jdk Bug
SLIDESJAVA-35530 ExceptionInInitializerError exception on Presentation.getPresentationText call using 1.6 jdk Bug
SLIDESJAVA-35523 Images are missing in generated thumbnails Bug
SLIDESJAVA-35518 Value cannot be null on saving PPTX presentation Bug
SLIDESJAVA-35509 Value does not fall in range exception on loading presentation Bug
SLIDESJAVA-35506 Can’t read MSCDFileSystem exception on loading presentation Bug
SLIDESJAVA-35505 Argument out of range exception on loading presentation Bug
SLIDESJAVA-35489 KeyNotFoundException when converting PPT to PDF Bug
SLIDESJAVA-35470 Aspose.Slides 16.4.0 Exception when trying to get thumbnails from presentation file Bug
SLIDESJAVA-35469 PPTXReadException on PPT load Bug
SLIDESJAVA-35468 PictureFillFormatEffectiveData.copyDataFrom throws NullPointerException Bug
SLIDESJAVA-35464 Exception when rendering of hidden slides in Tiff Bug
SLIDESJAVA-35463 Effect getting changed in the design when saving presentation Bug
SLIDESJAVA-35462 ArgumentOutOfRangeException on presentation load Bug
SLIDESJAVA-35461 documentProperties.setHyperlinkBase cannot work for PPT Bug
SLIDESJAVA-35445 createPortionFormatEffective() throws NullPointerException Bug
SLIDESJAVA-35440 java.lang.ArrayIndexOutOfBoundsException on accessing presentation Bug
SLIDESJAVA-35437 Animation getting changed on saving presentation Bug
SLIDESJAVA-35435 PPTXReadException on loading presentation Bug
SLIDESJAVA-35431 PPTReadException on presentation load Bug
SLIDESJAVA-35421 Shapes improperly rendered in generated thumbnails Bug
SLIDESJAVA-35411 PPTXReadException on presentation load Bug
SLIDESJAVA-35405 ArrayIndexOutOfBoundsException on PPT save Bug
SLIDESJAVA-35399 Problem while getting properties of a table Bug
SLIDESJAVA-35388 Text missing in generated thumbnail Bug
SLIDESJAVA-35384 Exception while getting table properties Bug
SLIDESJAVA-35364 Problem with space between bullets and text Bug
SLIDESJAVA-35362 Bigger SVG image generated Bug
SLIDESJAVA-35332 Rendering Aspose.Slides to image is slower than Aspose.Slides Bug
SLIDESJAVA-35326 The text is improperly rendered in generated thumbnail Bug
SLIDESJAVA-35299 Numbering Bug
SLIDESJAVA-35270 Adding CMYK image results in improper colors for the image in Picture Frame Bug
SLIDESJAVA-35212 Font height returned incorrectly Bug
SLIDESJAVA-35158 Incorrect bullet points on load and save presentation Bug
SLIDESJAVA-35005 Date format is changed on PDF rendering Bug
SLIDESJAVA-34821 Contents of picture are missing when PPTX is converted to PDF Bug
SLIDESJAVA-34820 Shadow rendered incorrectly when PPTX converted to PDF Bug
SLIDESJAVA-34724 Bullets are improperly rendered on slide with Arabic text Bug
SLIDESJAVA-34575 Colors are not coming fine when converting PPTX to Image Bug
SLIDESJAVA-34561 Improper slide background is rendered in generated PDF Bug
SLIDESJAVA-34489 The table broken after saving Bug
SLIDESJAVA-34231 Improve text rendering quality in PDF Bug
SLIDESJAVA-34216 Quality of pictures changed when converting PPT/PPTX to PDF Bug
SLIDESJAVA-34171 Text not showing properly after PPTX to JPG conversion Bug
SLIDESJAVA-33940 Presentation style is missing in generated PDF Bug
SLIDESJAVA-33461 Removing slide from PPT corrupts generated presentation Bug

Public API Changes

New elements have been added into com.aspose.slides.LoadFormat enumeration

com.aspose.slides.LoadFormat enumeration has been extended with new elements: Potx, Pptm, Ppsm, Potm.

New methods readDocumentProperties, updateDocumentProperties and writeBindedPresentation have been added to IPresentationInfo, logic of the IDocumentProperties.setLastSavedTime() method has been changed

The two new methods readDocumentProperties and updateDocumentProperties have been added to IPresentationInfo interface. They provide a quick access to document properties and allow to change and update properties without loading a whole presentation.

The typical scenario load the properties, change some value and update the document can be implemented in the following way:

// read the info of presentation
IPresentationInfo info = PresentationFactory.getInstance().getPresentationInfo("presentation.pptx");

// obtain the current properties
IDocumentProperties props = info.readDocumentProperties();

// set the new values of Author and Title fields
props.setAuthor("New Author");
props.setTitle("New Title");

// update the presentation with a new values
info.updateDocumentProperties(props);
info.writeBindedPresentation("updated_presentation.pptx");

There’s an another way to use properties of a particular presentation as a template to update properties in other presentations:

private void updateByTemplate()
{
  DocumentProperties template;
  IPresentationInfo info = PresentationFactory.getInstance().getPresentationInfo("template.pptx");
  template = (DocumentProperties)info.readDocumentProperties();

  template.setAuthor("Template Author");
  template.setTitle("Template Title");
  template.setCategory("Template Category");
  template.setKeywords("Keyword1, Keyword2, Keyword3");
  template.setCompany("Our Company");
  template.setComments("Created from template");
  template.setContentType("Template Content");
  template.setSubject("Template Subject");

  updateByTemplate("doc1.pptx", template);
  updateByTemplate("doc2.odp", template);
  updateByTemplate("doc3.ppt", template);
}

private void updateByTemplate(String path, IDocumentProperties template)
{
  IPresentationInfo toUpdate = PresentationFactory.getInstance().getPresentationInfo(path);
  toUpdate.updateDocumentProperties(template);
  toUpdate.writeBindedPresentation(path);
}

Or a new template can be created from scratch and then used to update multiple presentations:

private void updateByTemplate()
{
  DocumentProperties template = new DocumentProperties();
  template.setAuthor("Template Author");
  template.setTitle("Template Title");
  template.setCategory("Template Category");
  template.setKeywords("Keyword1, Keyword2, Keyword3");
  template.setCompany("Our Company");
  template.setComments("Created from template");
  template.setContentType("Template Content");
  template.setSubject("Template Subject");

  updateByTemplate("doc1.pptx", template);
  updateByTemplate("doc2.odp", template);
  updateByTemplate("doc3.ppt", template);
}

private void updateByTemplate(String path, IDocumentProperties template)
{
  IPresentationInfo toUpdate = PresentationFactory.getInstance().getPresentationInfo(path);
  toUpdate.updateDocumentProperties(template);
  toUpdate.writeBindedPresentation(path);
}