Aspose.Slides.NET 17.1.0

Aspose.Slides for .NET

Aspose.Slides is a PowerPoint management library for working with Microsoft PowerPoint files without using Microsoft PowerPoint. It allows developers to work with PPT, PPS, POT, PPTX, PPSX, POTX and ODP files on ASP.NET web applications, web services and Windows applications.

There is a newer version of this package available.
See the version list below for details.
Install-Package Aspose.Slides.NET -Version 17.1.0
dotnet add package Aspose.Slides.NET --version 17.1.0
<PackageReference Include="Aspose.Slides.NET" Version="17.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Aspose.Slides.NET --version 17.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

SLIDESNET-38199 - Support for Value from Cells feature for chart datalabels
SLIDESNET-36738 - Support for bulk setting text properties for whole table, row or column
SLIDESNET-35709 - Set and control text spellcheck language using Aspose.Slides
SLIDESNET-34103 - Add support for changing language of presentation and shape's text
SLIDESNET-33368 - Using locale for setting the language
SLIDESNET-3104 - Language property for textboxes
SLIDESNET-36086 - Changing slides orientation has no effect on contents
SLIDESNET-38255 - Changing font related properties in master slide not getting applied
SLIDESNET-38239 - Setting multi-level chart categories not working
SLIDESNET-38230 - Unexpected subscript effect on saving presentation
SLIDESNET-38225 - System.ArgumentOutOfRangeException when adding shape to slide and saving
SLIDESNET-38217 - Exception on converting ppt to pptx or pptm
SLIDESNET-38208 - Pptx not properly converted to html
SLIDESNET-38206 - Pptx to pdf conversion giving OutOfMemoryError
SLIDESNET-38205 - Text are improperly rendered in generated PDF
SLIDESNET-38204 - EMF images are not properly rendered in generated pdf
SLIDESNET-38201 - Embedded fonts are not getting copied when cloning slide
SLIDESNET-38188 - Exception on generating thumbnails
SLIDESNET-38186 - Problem with content in result file after saving Ppt to Pptx
SLIDESNET-38177 - Cylinder drawing is changed after loading and saving a ppt
SLIDESNET-38175 - Meta files are improperly rendered in generated thumbnails
SLIDESNET-38174 - Fix implementation of ChartSeriesGroup.CompareTo() method.
SLIDESNET-38172 - Character misplaced after converting to svg
SLIDESNET-38167 - Cell border not generated as double line
SLIDESNET-38156 - Icon missing after converting slide to svg
SLIDESNET-38151 - Text in pptx document not justified properly
SLIDESNET-38132 - Bullets changes while converting odp to pdf
SLIDESNET-38130 - Creating charts from sql server table
SLIDESNET-38129 - Slide orientation went wrong
SLIDESNET-38117 - Thumbnails output cropped
SLIDESNET-38109 - NotImplementedException on saving presentation
SLIDESNET-38097 - Shapes with FillType.Group missing in the generated thumbnail
SLIDESNET-38092 - Text is improperly rendered in generated thumbnail
SLIDESNET-38067 - Bullet space changed after saving ppt
SLIDESNET-38066 - Pptx changed after converting to pdf
SLIDESNET-38050 - Exception on saving presentation
SLIDESNET-38029 - Text is not being rendered when exporting slides as thumbnails
SLIDESNET-38004 - High memory consumption while converting pptx to pdf
SLIDESNET-37929 - Incorrect character positioning in HTML representation of the presentation document in Safari for iOS
SLIDESNET-37796 - Equations are improperly rendered in generated PDF and thumbnails
SLIDESNET-37045 - Chart title appears on pptx to html
SLIDESNET-36892 - Incorrect chart on generated pdf
SLIDESNET-36222 - Date changed to asterisk when saving presentation
SLIDESNET-36095 - DataPoints of scattered chart are not showing in the generated image file
SLIDESNET-36094 - Y Axis Labels are not correct in the generated image file
SLIDESNET-35571 - Images are not rendered in HTML to PPTX Import
SLIDESNET-35494 - Exception on Opening the PPTX file. Error unexpected font parsing exception
SLIDESNET-35292 - Ppt to Pptx conversion disturbs equations
SLIDESNET-35265 - Improper gradient fill export for geometry shapes
SLIDESNET-35264 - Improper DrBrush is used when exporting gradient filled text to PDF
SLIDESNET-35263 - Gradient brush is incorrectly formed when exporting gradient-filled text
SLIDESNET-35240 - PPTX to PDF: Text is missing in generated PDF file
SLIDESNET-35125 - Footer not Visible when setting using Metacharacters
SLIDESNET-35040 - Chart improperly rendered in generated PDF
SLIDESNET-34650 - Protected view error message on generating PPT form Aspose.Slides
SLIDESNET-34521 - Improper thumbnail generated for PPT
SLIDESNET-34481 - Default font related properties are set when copying slide notes
SLIDESNET-33881 - Index out of range exception on accessing presentation
SLIDESNET-33606 - PowerPoint 2010 Error Message: PowerPoint has detected problem in file in generated PPT
SLIDESNET-33279 - ProtectedView message appears if multiple hyperlinks are added in generated presentation
SLIDESNET-31842 - Picture is missing in notes page on presentation save
SLIDESNET-22336 - Equations text overlap in the generated PDF
SLIDESNET-17912 - Mathematical equation are improperly rendered in exported PDF

Public API Changes

Default public constructors have been added to PortionFormat, ParagraphFormat and TextFrameFormat classes

Default public constructors have been added to PortionFormat, ParagraphFormat and TextFrameFormat classes. Formats created with these constructions using can be used to specify text formats for a whole table, etc.

Usage Example:

PortionFormat portionFormat = new PortionFormat();
ParagraphFormat paragraphFormat = new ParagraphFormat();
TextFrameFormat textFrameFormat = new TextFrameFormat();

IBulkTextFormattable interface has been added

Aspose.Slides.IBulkTextFormattable interface has been added. It represents an object with possibility of bulk setting child text elements' formats. It contains the following methods:

void SetTextFormat(IPortionFormat source);
void SetTextFormat(IParagraphFormat source);
void SetTextFormat(ITextFrameFormat source);

Calling any of them will make an object of class that implements this interface set all its child portions / paragraphs / text frames (accordingly to used method overload) with all defined properties from provided format sample.
IFormatFactory interface and FormatFactory class have been added

Aspose.Slides.IFormatFactory interface and Aspose.Slides.FormatFactory class have been added. They allow to create PortionFormat, ParagraphFormat and TextFrameFormat instances via COM interface.

Usage Example:

IPortionFormat portionFormat = FormatFactory.Instance.CreatePortionFormat();
IParagraphFormat paragraphFormat = FormatFactory.Instance.CreateParagraphFormat();
ITextFrameFormatparagraphFormat = FormatFactory.Instance.CreateTextFrameFormat();
Properties DataLabelFormat.ShowLabelValueFromCell and IDataLabelFormat.ShowLabelValueFromCell have been added

Property DataLabelFormat.ShowLabelValueFromCell determines if data label text contains data from workbook data cell.

string lbl0 = "Label 0 cell value";
string lbl1 = "Label 1 cell value";
string lbl2 = "Label 2 cell value";

using (Presentation pres = new Presentation())
{
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.Bubble, 50, 50, 600, 400, true);

IChartSeriesCollection series = chart.ChartData.Series;

series[0].Labels.DefaultDataLabelFormat.ShowLabelValueFromCell = true;

IChartDataWorkbook wb = chart.ChartData.ChartDataWorkbook;

series[0].Labels[0].ValueFromCell = wb.GetCell(0, "A10", lbl0);
series[0].Labels[1].ValueFromCell = wb.GetCell(0, "A11", lbl1);
series[0].Labels[2].ValueFromCell = wb.GetCell(0, "A12", lbl2);
}

Properties IDataLabel.ValueFromCell and DataLabel.ValueFromCell have been added

Gets or sets workbook data cell. Applied if IDataLabelFormat.ShowLabelValueFromCell property equals true.

string lbl0 = "Label 0 cell value";
string lbl1 = "Label 1 cell value";
string lbl2 = "Label 2 cell value";

using (Presentation pres = new Presentation())
{
IChart chart = pres.Slides[0].Shapes.AddChart(ChartType.Bubble, 50, 50, 600, 400, true);

IChartSeriesCollection series = chart.ChartData.Series;

series[0].Labels.DefaultDataLabelFormat.ShowLabelValueFromCell = true;

IChartDataWorkbook wb = chart.ChartData.ChartDataWorkbook;

series[0].Labels[0].ValueFromCell = wb.GetCell(0, "A10", lbl0);
series[0].Labels[1].ValueFromCell = wb.GetCell(0, "A11", lbl1);
series[0].Labels[2].ValueFromCell = wb.GetCell(0, "A12", lbl2);

pres.Save(outPath, SaveFormat.Pptx);
}

SetTextFormat methods have been added to Column class due to inheritance from IBulkTextFormattable added to IColumn interface

Aspose.Slides.Column class now implements IBulkTextFormattable interface as a part of IColumn interface. Portion, paragraph or text frame format properties can be set to all column cells by calling Column.SetTextFormat methods.

Usage Examples:

ITable someTable = presentation.Slides[0].Shapes[0] as ITable; // let's say that the first shape on the first slide is a table

// setting first column cells' font height
PortionFormat portionFormat = new PortionFormat();
portionFormat.FontHeight = 25;
someTable.Columns[0].SetTextFormat(portionFormat);

// setting first column cells' text alignment and right margin in one call
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.Alignment = TextAlignment.Right;
paragraphFormat.MarginRight = 20;
someTable.Columns[0].SetTextFormat(paragraphFormat);

// setting second column cells' text vertical type
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.TextVerticalType = TextVerticalType.Vertical;
someTable.Columns[1].SetTextFormat(textFrameFormat);

SetTextFormat methods have been added to Row class due to inheritance from IBulkTextFormattable added to IRow interface

Aspose.Slides.Row class now implements IBulkTextFormattable interface as a part of IRow interface. Portion, paragraph or text frame format properties can be set to all row cells by calling Row.SetTextFormat methods.

Usage Examples:

ITable someTable = presentation.Slides[0].Shapes[0] as ITable; // let's say that the first shape on the first slide is a table

// setting first row cells' font height
PortionFormat portionFormat = new PortionFormat();
portionFormat.FontHeight = 25;
someTable.Rows[0].SetTextFormat(portionFormat);

// setting first row cells' text alignment and right margin in one call
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.Alignment = TextAlignment.Right;
paragraphFormat.MarginRight = 20;
someTable.Rows[0].SetTextFormat(paragraphFormat);

// setting second row cells' text vertical type
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.TextVerticalType = TextVerticalType.Vertical;
someTable.Rows[1].SetTextFormat(textFrameFormat);

SetTextFormat methods have been added to Table class due to inheritance from IBulkTextFormattable added to ITable interface

Aspose.Slides.Table class now implements IBulkTextFormattable interface as a part of ITable interface. Portion, paragraph or text frame format properties can be set to all table cells by calling Table.SetTextFormat methods.

Usage Examples:

ITable someTable = presentation.Slides[0].Shapes[0] as ITable; // let's say that the first shape on the first slide is a table

// setting table cells' font height
PortionFormat portionFormat = new PortionFormat();
portionFormat.FontHeight = 25;
someTable.SetTextFormat(portionFormat);

// setting table cells' text alignment and right margin in one call
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.Alignment = TextAlignment.Right;
paragraphFormat.MarginRight = 20;
someTable.SetTextFormat(paragraphFormat);

// setting table cells' text vertical type
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.TextVerticalType = TextVerticalType.Vertical;
someTable.SetTextFormat(textFrameFormat);

SlideSizeScaleType enum, ISlideSize.SetSize and SlideSize.SetSize methods have been added

New methods SetSize have been added to SlideSize class and ISlideSize interface.

void SetSize(SlideSizeType type, SlideSizeScaleType scaleType);
void SetSize(float width, float height, SlideSizeScaleType scaleType);

These methods allow changing slide size with different ways of content scaling. Ways of content scaling are defined in new SlideSizeScaleType enum. There are following values.

DoNotScale - do not scale slide content. Use this for set the size without modification content.
EnsureFit - Scale to ensure fit. Use this for scale it down to ensure it will fit on slide.
Maximize - Maximize size of content. Use this for maximize the size of your content.

Usage example:

using (Presentation presentation = new Presentation("presentation.ppt"))
{
presentation.SlideSize.SetSize(540, 720, SlideSizeScaleType.EnsureFit); // Method SetSize is used for set slide size with scale content to ensure fit
presentation.SlideSize.SetSize(SlideSizeType.A4Paper, SlideSizeScaleType.Maximize); // Method SetSize is used for set slide size with maximize size of content
}

The property Size of interface ISlideSize and class SlideSize has been marked as Obsolete.

The property Type of interface ISlideSize and class SlideSize has been marked as Obsolete.

Dependencies

This package has no dependencies.

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
19.6.0 1,158 6/25/2019
19.5.0 2,323 5/31/2019
19.4.0 3,582 4/26/2019
19.3.0 2,267 4/3/2019
19.2.0 6,259 2/28/2019
19.1.0 7,023 1/30/2019
18.12.0 4,255 12/27/2018
18.11.0 3,621 11/30/2018
18.10.0 10,764 10/30/2018
18.9.0 3,164 9/30/2018
18.8.0 3,462 8/29/2018
18.7.0 9,242 7/27/2018
18.6.0 10,133 7/1/2018
18.5.0 5,575 5/30/2018
18.4.0 2,420 5/3/2018
18.3.0 3,094 4/1/2018
18.2.1 3,509 3/7/2018
18.2.0 1,898 2/28/2018
18.1.0 2,888 1/30/2018
17.12.1 4,826 12/26/2017
17.12.0 808 12/16/2017
17.11.0 1,279 11/30/2017
17.10.0 3,975 10/31/2017
17.9.1 3,458 10/12/2017
17.9.0 1,415 10/2/2017
17.8.0 9,320 8/30/2017
17.7.0 6,096 7/31/2017
17.6.0 2,232 7/1/2017
17.5.0 1,996 5/31/2017
17.4.0 2,566 4/28/2017
17.3.0 2,965 4/2/2017
17.2.0 7,242 3/1/2017
17.1.0 3,133 1/31/2017
16.12.1 3,144 1/16/2017
16.12.0 1,531 12/27/2016
16.11.0 2,346 11/30/2016
16.10.0 2,317 11/4/2016
16.9.0 2,940 10/12/2016
16.8.0 2,876 9/27/2016
16.7.0 1,502 8/22/2016
16.6.0 16,163 7/15/2016
16.5.0 3,113 6/16/2016
16.4.0 3,347 5/16/2016
16.3.0 7,802 4/11/2016
16.2.0 4,260 3/17/2016
16.1.0 5,862 2/4/2016
15.11.0 9,155 1/11/2016
15.10.0 9,180 12/10/2015
15.9.0 5,466 11/6/2015
15.8.1 913 10/16/2015
15.8.0 1,208 10/5/2015
15.7.0 3,139 9/3/2015
15.6.0 7,110 7/22/2015
15.5.0 2,685 6/16/2015
15.4.0 1,798 5/14/2015
15.3.1 1,001 4/23/2015
15.3.0 665 4/14/2015
15.2.0 8,680 3/6/2015
15.1.0 1,221 2/3/2015
14.10.0 4,567 11/28/2014
14.9.0 1,479 11/11/2014
14.8.1 1,379 10/24/2014
14.8.0 620 10/16/2014
14.7.0 1,823 9/7/2014
14.6.0 1,129 8/6/2014
14.5.0 3,069 7/16/2014
14.4.0 1,741 6/2/2014
14.3.0 1,956 5/6/2014
14.2.0 1,136 3/24/2014
14.1.2 1,545 2/17/2014
14.1.1 619 2/10/2014
14.1.0.2 537 2/6/2014
13.12.0 1,476 12/30/2013
8.4.2 4,507 6/5/2014
8.4.1 1,130 5/6/2014
8.4.0 757 3/3/2014
8.3.0.1 645 2/3/2014
8.2.0 592 12/27/2013
8.1.0 4,872 12/16/2013
8.0.0 1,622 10/25/2013
7.9.0 986 10/8/2013
7.8.0 709 9/3/2013
7.7.0 2,967 8/4/2013
7.6.0 777 7/5/2013
7.5.0 1,015 5/27/2013
7.4.0 7,297 4/24/2013
7.3.0 803 4/10/2013
7.2.0 1,028 3/8/2013
7.1.0 3,107 1/28/2013
7.0.0 829 12/31/2012
6.9.0 778 12/10/2012
6.8.0 845 10/30/2012
6.7.0 1,102 10/4/2012
6.6.0 708 9/13/2012
6.5.0 821 7/27/2012
6.4.0 738 6/27/2012
6.3.0 664 5/29/2012
6.2.0 707 5/7/2012
6.1.0 731 3/28/2012
6.0.0 703 3/2/2012
5.9.0.1 722 2/16/2012
5.9.0 1,123 2/16/2012
Show less