Aspose.Slides for Java 18.7 Release Notes

KeySummaryCategory
SLIDESJAVA-37012Setting chart.getChartData().setRange(range) resets the chart formattingFeature
SLIDESJAVA-37131Use Aspose.Slides for Net 18.7 featuresFeature
SLIDESNET-25055Font size of legend, minimum & maximum values of axesFeature
SLIDESNET-26270Support for changing Series ColorFeature
SLIDESNET-30409Getting chart image from ChartExFeature
SLIDESNET-31630Change color of categories in a seriesFeature
SLIDESNET-33795Setting font related properties for chart data tableFeature
SLIDESNET-33828Setting font related properties for individual legend entryFeature
SLIDESNET-33909Setting font related properties for chart data tableFeature
SLIDESNET-34235Support for setting Chart Area rounded bordersFeature
SLIDESNET-34690Support for Stock chartFeature
SLIDESNET-39932Setting InvertIfNegative for individual series data pointFeature
SLIDESNET-38920RemoveEncryption() method removes the encryption from presentation when loaded in read only modeFeature
SLIDESJAVA-34046Text color got changed in generated PDFBug
SLIDESJAVA-36409Word wrapping is disturbed in generated slide thumbanail for UNIXBug
SLIDESJAVA-36931ArgumentOutOfRangeException on loading the presentationBug
SLIDESJAVA-36972Chart is improperly rendered in generated PDFBug
SLIDESJAVA-37007Wrong gradient direction for text in generated presentationBug
SLIDESJAVA-37030PPTX not properly converted to PDFBug
SLIDESJAVA-37032Exception on loading PPTXBug
SLIDESJAVA-37102PPTXReadException on loading presentationBug
SLIDESJAVA-37103PPT not properly converted to PDFBug
SLIDESJAVA-37105PPT to PPTX not properly convertedBug
SLIDESJAVA-37181Image lost on savingBug
SLIDESNET-36078Wrong text color in generated PDFBug
SLIDESNET-37336Problem with chart legendBug
SLIDESNET-37829Slide title position changes after saving PPTBug
SLIDESNET-38922Argument Null exception on saving PPT presentation to PPTMBug
SLIDESNET-39162Charts gets corrupted on saving a password protected presentationBug
SLIDESNET-39821PPTX to PDF not properly convertedBug
SLIDESNET-39859Text is improperly rendered in exported PDFBug
SLIDESNET-39883Error rendering slideBug
SLIDESNET-39903ArgumentOutOfRangeException on loading the presentationBug
SLIDESNET-39993Chart is improperly rendered in generated PDFBug
SLIDESNET-40008Content moved in generated HTMLBug
SLIDESNET-40115Wrong size of manual plot areaBug
SLIDESNET-40145Issue in setting Notes datetime and footerBug
SLIDESNET-40153Wrong gradient direction for text in generated presentationBug
SLIDESNET-40161Setting chart.ChartData.SetRange(range) resets the chart formattingBug
SLIDESNET-40182PPT Saving in PDF format shows data blurredBug
SLIDESNET-40183XmlException on loading PPTXBug
SLIDESNET-40184Chart is improperly rendered in generated PDFBug
SLIDESNET-40207Changing a shape applied border color is applied to all copied shapes of PPTXBug
SLIDESNET-40215PPT Zoom issueBug
SLIDESNET-40222The generated PDF with SaveMetafilesAsPng = false failed to open in Adobe ReaderBug
SLIDESNET-40226Issue with document in portrait orientation while exporting to PDFBug
SLIDESNET-40235PPTXReadException on loading presentationBug
SLIDESNET-40236Exception on loading presentationBug
SLIDESNET-40238Presentation repair message on converting PPT to PPTXBug
SLIDESNET-40241Exception on loading and saving presentationBug
SLIDESNET-40260Unable to display percentage and dollar value in box and whisker chartBug
SLIDESNET-15302Embedded OLE Object size changes in PPTX when selected in MS PowerPointBug
SLIDESNET-21171Resaving the Excel Object causes resized when opened in PowerPoint 2010Bug

Public API Changes

addDataPointForStockSeries method has been added to IChartDataPointCollection

addDataPointForStockSeries method has been added to IChartDataPointCollection.

This method creates the new data point and adds it to the end of a collection.

Applicable for series which chartType is one of Stock subtypes (see also ChartTypeCharacterizer.isChartTypeStock(ChartType) method).

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

    chart.getChartData().getSeries().clear();
    chart.getChartData().getCategories().clear();

    IChartDataWorkbook wb = chart.getChartData().getChartDataWorkbook();

    chart.getChartData().getCategories().add(wb.getCell(0, 1, 0, "A"));
    chart.getChartData().getCategories().add(wb.getCell(0, 2, 0, "B"));
    chart.getChartData().getCategories().add(wb.getCell(0, 3, 0, "C"));

    chart.getChartData().getSeries().add(wb.getCell(0, 0, 1, "Open"), chart.getType());
    chart.getChartData().getSeries().add(wb.getCell(0, 0, 2, "High"), chart.getType());
    chart.getChartData().getSeries().add(wb.getCell(0, 0, 3, "Low"), chart.getType());
    chart.getChartData().getSeries().add(wb.getCell(0, 0, 4, "Close"), chart.getType());

    IChartSeries series = chart.getChartData().getSeries().get_Item(0);

    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 1, 72));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 1, 25));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 1, 38));

    series = chart.getChartData().getSeries().get_Item(1);
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 2, 172));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 2, 57));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 2, 57));

    series = chart.getChartData().getSeries().get_Item(2);
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 3, 12));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 3, 12));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 3, 13));

    series = chart.getChartData().getSeries().get_Item(3);
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 1, 4, 25));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 2, 4, 38));
    series.getDataPoints().addDataPointForStockSeries(wb.getCell(0, 3, 4, 50));

    chart.getChartData().getSeriesGroups().get_Item(0).getUpDownBars().setUpDownBars(true);
    chart.getChartData().getSeriesGroups().get_Item(0).getHiLowLinesFormat().getLine().getFillFormat().setFillType(FillType.Solid);

    for(IChartSeries ser : chart.getChartData().getSeries())
    {
        ser.getFormat().getLine().getFillFormat().setFillType(FillType.NoFill);
    }

    pres.save("output.pptx", SaveFormat.Pptx);
} finally {
    pres.dispose();
}

getApplyImageTransparent and setApplyImageTransparent methods have been added to IPdfOptions

getApplyImageTransparent and setApplyImageTransparent methods have been added to IPdfOptions.

Method setImageTransparentColor sets the image transparent color.

Method setApplyImageTransparent applies the specified transparent color to an image if true. True by default.

Presentation pres = new Presentation("pres.pptx");
try {
    PdfOptions options = new PdfOptions();
    options.setApplyImageTransparent(true);
    options.setImageTransparentColor(Color.WHITE);
    pres.save("pres.pdf", SaveFormat.Pdf, options);
} finally {
    pres.dispose();
}

getHiLowLinesFormat method has been added to IChartSeriesGroup

getHiLowLinesFormat method has been added to IChartSeriesGroup.

Specifies HiLowLines format. HiLowLines applied with HiLowClose, OpenHiLowClose, VolumeHiLowClose and VolumeOpenHiLowClose chart types.

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

    chart.getChartData().getSeriesGroups().get_Item(0).getHiLowLinesFormat().getLine().getFillFormat().setFillType(FillType.Solid);
    chart.getChartData().getSeriesGroups().get_Item(0).getHiLowLinesFormat().getLine().getFillFormat().getSolidFillColor().setColor(Color.RED);

    pres.save("output.pptx", SaveFormat.Pptx);
} finally {
    pres.dispose();
}

getImageTransparentColor and setImageTransparentColor methods have been added to IPdfOptions

getImageTransparentColor and setImageTransparentColor methods have been added to IPdfOptions.

Method setImageTransparentColor sets the image transparent color.

Method setApplyImageTransparent applies the specified transparent color to an image if true. True by default.

Presentation pres = new Presentation("pres.pptx");
try {
    PdfOptions options = new PdfOptions();
    options.setApplyImageTransparent(true);
    options.setImageTransparentColor(Color.WHITE);
    pres.save("pres.pdf", SaveFormat.Pdf, options);
} finally {
    pres.dispose();
}

getInvertIfNegative and setInvertIfNegative methods have been added to IChartDataPoint

getInvertIfNegative and setInvertIfNegative methods have been added to IChartDataPoint.

Specifies the data point shall invert its colors if the value is negative.

Presentation pres = new Presentation();
try {
    IChart chart = pres.getSlides().get_Item(0).getShapes().addChart(ChartType.ClusteredColumn, 50, 50, 600, 400, true);
    IChartSeriesCollection series = chart.getChartData().getSeries();
    chart.getChartData().getSeries().clear();

    series.add(chart.getChartData().getChartDataWorkbook().getCell(0, "B1"), chart.getType());
    series.get_Item(0).getDataPoints().addDataPointForBarSeries(chart.getChartData().getChartDataWorkbook().getCell(0, "B2",-5));
    series.get_Item(0).getDataPoints().addDataPointForBarSeries(chart.getChartData().getChartDataWorkbook().getCell(0, "B3",3));
    series.get_Item(0).getDataPoints().addDataPointForBarSeries(chart.getChartData().getChartDataWorkbook().getCell(0, "B4",-2));
    series.get_Item(0).getDataPoints().addDataPointForBarSeries(chart.getChartData().getChartDataWorkbook().getCell(0, "B5",1));

    series.get_Item(0).setInvertIfNegative(false);
    series.get_Item(0).getInvertIfNegative()
    series.get_Item(0).getDataPoints().get_Item(2).setInvertIfNegative(true);

    pres.save("output.pptx", SaveFormat.Pptx);
} finally {
    pres.dispose();
}

hasRoundedCorners and setRoundedCorners methods have been added to IChart

hasRoundedCorners and setRoundedCorners methods have been added to IChart.

Specifies the chart area shall have rounded corners.

Presentation presentation = new Presentation();
try {
    ISlide slide = presentation.getSlides().get_Item(0);
    IChart chart = slide.getShapes().addChart(ChartType.ClusteredColumn, 20, 100, 600, 400);
    chart.setRoundedCorners(true);
    presentation.save("output.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

The implementation of method IChartData.setRange() has been changed.

Implementation of the method has been changed to avoid lost of series settings (series type, formatting and etc.). Only data points will be updated.

If a number of series in data range greater than a count of series in the chart data, then additional series with the same type as the last series in the current collection will be added to the end of the collection.

The LightStyle1Accent5 value has been added to TableStylePreset enum

LightStyle1Accent5 value has been added to TableStylePreset enum.

It represents “Light Style 1 - Accent 5” preset table style.

The code snippet below shows how to add a new Table with “Light Style 1 - Accent 5” style:

Presentation presentation = new Presentation();
try {
    ITable table = presentation.getSlides().get_Item(0).getShapes().addTable(50, 50, new double[] { 200, 200 }, new double[] { 50, 50, 50, 50 });
    table.setStylePreset(TableStylePreset.LightStyle1Accent5);

    presentation.save("presentation-out.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

The obsolete HeaderFooterManager class has been deleted

Obsolete HeaderFooterManager class has been deleted.

Please use class PresentationHeaderFooterManager or one of the corresponding classes MasterSlideHeaderFooterManager, LayoutSlideHeaderFooterManager, SlideHeaderFooterManager instead.