Aspose.Slides.NET 17.11.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Aspose.Slides.NET --version 17.11.0
NuGet\Install-Package Aspose.Slides.NET -Version 17.11.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Aspose.Slides.NET" Version="17.11.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.11.0
#r "nuget: Aspose.Slides.NET, 17.11.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Aspose.Slides.NET as a Cake Addin
#addin nuget:?package=Aspose.Slides.NET&version=17.11.0

// Install Aspose.Slides.NET as a Cake Tool
#tool nuget:?package=Aspose.Slides.NET&version=17.11.0

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.

Product Compatible and additional computed target framework versions.
.NET Framework net20 is compatible.  net35 was computed.  net35-client is compatible.  net40 was computed.  net40-client is compatible.  net403 was computed.  net45 was computed.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages (13)

Showing the top 5 NuGet packages that depend on Aspose.Slides.NET:

Package Downloads
TrueSight

Package Description

Aspose.Total

Aspose.Total for .NET is the most complete package of all .NET file format APIs offered by Aspose. It empowers developers to create, edit, render, print and convert between a wide range of popular document formats within any .NET, C#, ASP.NET and VB.NET applications.

Verify.Aspose The ID prefix of this package has been reserved for one of the owners of this package by NuGet.org.

Extends Verify (https://github.com/VerifyTests/Verify) to allow verification via Aspose.

Weavy.Core

A class library containing core business logic, data access and utility methods required by Weavy.

Aspose.ApprovalTests

Extends ApprovalTests to allow approval via Aspose.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
24.3.0 560 3/15/2024
24.2.0 8,262 2/16/2024
24.1.0 12,024 1/19/2024
23.12.0 24,893 12/11/2023
23.11.0 30,550 11/16/2023
23.10.0 43,679 10/19/2023
23.9.0 42,866 9/20/2023
23.8.0 42,340 8/21/2023
23.7.0 32,112 7/18/2023
23.6.0 28,044 6/26/2023
23.5.0 90,318 5/19/2023
23.4.0 75,135 4/20/2023
23.3.1 60,749 3/23/2023
23.2.0 43,258 2/27/2023
23.1.0 107,704 1/27/2023
22.12.0 118,066 12/16/2022
22.11.0 90,082 11/23/2022
22.10.0 169,499 10/18/2022
22.9.0 86,383 9/13/2022
22.8.0 47,816 8/17/2022
22.7.0 69,551 7/19/2022
22.6.0 76,937 6/24/2022
22.5.0 88,722 5/17/2022
22.4.0 81,110 4/15/2022
22.3.0 57,300 3/17/2022
22.2.0 100,088 2/16/2022
22.1.0 106,977 1/19/2022
21.12.0 79,480 12/17/2021
21.11.0 94,521 11/16/2021
21.10.0 78,099 10/7/2021
21.9.0 273,192 9/20/2021
21.8.0 88,446 8/16/2021
21.7.0 73,051 7/15/2021
21.6.0 32,033 6/17/2021
21.5.0 54,607 5/18/2021
21.4.0 87,504 4/18/2021
21.3.0 80,152 3/19/2021
21.2.0 88,971 2/16/2021
21.1.0 88,835 1/21/2021
20.12.0 82,245 12/10/2020
20.11.1 5,948 12/10/2020
20.11.0 117,920 12/23/2020
20.10.0 66,699 10/19/2020
20.9.0 23,467 9/25/2020
20.8.0 57,439 8/17/2020
20.7.0 45,874 7/17/2020
20.6.0 61,689 6/12/2020
20.5.0 53,922 5/7/2020
20.4.0 39,609 4/22/2020
20.3.0 47,963 3/23/2020
20.2.0 73,365 2/17/2020
20.1.0 63,534 1/17/2020
19.12.0 51,629 12/31/2019
19.11.0 45,544 11/27/2019
19.10.0 65,162 10/29/2019
19.9.0 59,163 9/12/2019
19.8.0 11,889 8/30/2019
19.7.0 38,064 7/26/2019
19.6.0 24,334 6/25/2019
19.5.0 19,179 5/31/2019
19.4.0 29,489 4/26/2019
19.3.0 12,178 4/3/2019
19.2.0 35,072 2/28/2019
19.1.0 82,458 1/30/2019
18.12.0 47,649 12/27/2018
18.11.0 22,733 11/30/2018
18.10.0 52,515 10/30/2018
18.9.0 16,585 9/30/2018
18.8.0 15,736 8/29/2018
18.7.0 27,440 7/27/2018
18.6.0 36,589 7/1/2018
18.5.0 16,059 5/30/2018
18.4.0 31,450 5/3/2018
18.3.0 17,458 4/1/2018
18.2.1 50,626 3/7/2018
18.2.0 25,134 2/28/2018
18.1.0 27,481 1/30/2018
17.12.1 14,331 12/26/2017
17.12.0 4,077 12/16/2017
17.11.0 7,287 11/30/2017
17.10.0 24,047 10/31/2017
17.9.1 6,971 10/12/2017
17.9.0 6,519 10/2/2017
17.8.0 46,116 8/30/2017
17.7.0 14,872 7/31/2017
17.6.0 10,395 7/1/2017
17.5.0 7,700 5/31/2017
17.4.0 8,694 4/28/2017
17.3.0 15,218 4/2/2017
17.2.0 34,635 3/1/2017
17.1.0 7,136 1/31/2017
16.12.1 14,743 1/16/2017
16.12.0 5,327 12/27/2016
16.11.0 8,122 11/30/2016
16.10.0 11,443 11/4/2016
16.9.0 7,766 10/12/2016
16.8.0 33,516 9/27/2016
16.7.0 4,924 8/22/2016
16.6.0 48,437 7/15/2016
16.5.0 12,154 6/16/2016
16.4.0 8,596 5/16/2016
16.3.0 18,095 4/11/2016
16.2.0 8,507 3/17/2016
16.1.0 19,442 2/4/2016
15.11.0 27,125 1/11/2016
15.10.0 12,926 12/10/2015
15.9.0 10,047 11/6/2015
15.8.1 3,910 10/16/2015
15.8.0 4,743 10/5/2015
15.7.0 61,475 9/3/2015
15.6.0 31,349 7/22/2015
15.5.0 9,271 6/16/2015
15.4.0 7,604 5/14/2015
15.3.1 5,545 4/23/2015
15.3.0 3,649 4/14/2015
15.2.0 41,522 3/6/2015
15.1.0 10,213 2/3/2015
14.10.0 11,884 11/28/2014
14.9.0 6,053 11/11/2014
14.8.1 4,349 10/24/2014
14.8.0 3,468 10/16/2014
14.7.0 4,704 9/7/2014
14.6.0 4,343 8/6/2014
14.5.0 8,152 7/16/2014
14.4.0 5,573 6/2/2014
14.3.0 6,884 5/6/2014
14.2.0 4,008 3/24/2014
14.1.2 5,174 2/17/2014
14.1.1 3,385 2/10/2014
14.1.0.2 3,277 2/6/2014
13.12.0 4,297 12/30/2013
8.4.2 38,166 6/5/2014
8.4.1 3,888 5/6/2014
8.4.0 4,343 3/3/2014
8.3.0.1 3,561 2/3/2014
8.2.0 3,410 12/27/2013
8.1.0 10,806 12/16/2013
8.0.0 4,605 10/25/2013
7.9.0 3,883 10/8/2013
7.8.0 3,463 9/3/2013
7.7.0 11,497 8/4/2013
7.6.0 6,511 7/5/2013
7.5.0 5,913 5/27/2013
7.4.0 9,995 4/24/2013
7.3.0 3,341 4/10/2013
7.2.0 3,940 3/8/2013
7.1.0 5,678 1/28/2013
7.0.0 5,347 12/31/2012
6.9.0 3,309 12/10/2012
6.8.0 3,674 10/30/2012
6.7.0 3,955 10/4/2012
6.6.0 3,222 9/13/2012
6.5.0 3,590 7/27/2012
6.4.0 3,300 6/27/2012
6.3.0 3,238 5/29/2012
6.2.0 3,412 5/7/2012
6.1.0 3,317 3/28/2012
6.0.0 3,632 3/2/2012
5.9.0.1 7,256 2/16/2012
5.9.0 5,933 2/16/2012

SLIDESNET-39490 - List of supported font file extensions
SLIDESNET-39228 - Rendering comments when saving Presentation documents into image
SLIDESNET-39197 - Support for End Paragraph Run Properties
SLIDESNET-38055 - Set slide hidden doesn't work when saving to Odp format
SLIDESNET-39232 - Improve rendering comments into PDF / HTML
SLIDESNET-39379 - Extend support for Hidden Slides for Open Document Presentation format
SLIDESNET-38206 - Pptx to pdf conversion giving OutOfMemoryError
SLIDESNET-38305 - Open and save PPTX changes part types
SLIDESNET-39485 - Pdf not properly generated from pptx
SLIDESNET-39486 - Thumbnails not properly generated from pptx
SLIDESNET-39147 - OleObjectFrame getting resized on double clicking
SLIDESNET-36240 - Slide animation duration is not extracted from animation
SLIDESNET-36946 - Text missing on generated thumbnail
SLIDESNET-36947 - The text is backwards and misaligned
SLIDESNET-39259 - Wrong character spacing in generated SVG and thumbnail
SLIDESNET-39271 - PptxReadException (A generic error occurred in GDI+) on loading presentation
SLIDESNET-39274 - PptxReadException on loading presentation
SLIDESNET-39320 - Text is improperly indented in generated thumbnails
SLIDESNET-39349 - Direction of the characters and "Yen-sign" changed when converting to image
SLIDESNET-39364 - PptxRead exception on loading presentaiton
SLIDESNET-39403 - Exception on saving Ppt
SLIDESNET-39420 - NullReference exception is thrown on removing slide
SLIDESNET-39424 - Problem saving a presentation from PPT to PPTM
SLIDESNET-39451 - NullPointerException on exporting to HTML
SLIDESNET-39455 - Clone PPTX does not retain layout/master
SLIDESNET-39465 - Video play mode for video frame resets on cloning slide
SLIDESNET-39469 - Presentation repair message appears for cloned presentation
SLIDESNET-39495 - Can not open pptx after saving

=Public API Changes


=Possibility to control look and layouting of notes and comments in exported document

A new NotesCommentsLayoutingOptions property has been added to PdfOptions, TiffOptions, SwfOptions and HtmlOptions classes. It allows specifying notes and comments look and layouting during document export.

NotesCommentsLayoutingOptions property is of type INotesCommentsLayoutingOptions that has the following properties:

NotesPositions NotesPosition - Gets or sets the position of the notes on the page.
CommentsPositions CommentsPosition - Gets or sets the position of the comments on the page.
Color CommentsAreaColor - Gets or sets the color of comments area.
int CommentsAreaWidth - Gets or sets the width of the comments area in pixels.

NotesPosition property is of type NotesPositions that is enumeration and has three members:

None - Specifies that notes should not be displayed at all.
BottomFull - Specifies that notes should be fully displayed using additional pages as it is needed.
BottomTruncated - Specifies that notes should be displayed in only one page.

CommentsPosition property is of type CommentsPosition that is enumeration and has three members:

None - Specifies that comments should not be displayed at all.
Bottom - Specifies that comments should be displayed using additional pages, following the page of the slide.
Right - Specifies that comments should be displayed to the right of the page.

NotesPosition and CommentsPosition properties have values None by default.

For example, the following code allows exporting presentation to PDF document with comments placed right and truncated notes (shown only on first page).

using (Presentation presentation = new Presentation("Presentation.pptx"))
{
   PdfOptions opt = new PdfOptions();
   opt.NotesCommentsLayouting.NotesPosition = NotesPositions.BottomTruncated;
   opt.NotesCommentsLayouting.CommentsPosition = CommentsPositions.Right;
   presentation.Save("PresOut.pdf", SaveFormat.Pdf, opt);
}

The following code allows changing default color of comments area and the width of comments area:

using (Presentation presentation = new Presentation("comments.pptx"))
{
   PdfOptions opt = new PdfOptions();
   opt.NotesCommentsLayouting.NotesPosition = NotesPositions.BottomTruncated;
   opt.NotesCommentsLayouting.CommentsPosition = CommentsPositions.Right;
   opt.NotesCommentsLayouting.CommentsAreaWidth = 300;
   opt.NotesCommentsLayouting.CommentsAreaColor = Color.Azure;
   presentation.Save("PresOut.pdf", SaveFormat.Pdf, opt);
}

Elements SwfNotes, TiffNotes, HtmlNotes and PdfNotes of SaveFormat enumeration and property IncludeComments of SwfOptions, TiffOptions, HtmlOptions and PdfOptions are obsolete now.

Pay attention, NotesCommentsLayouting.NotesPosition has no effect when you use obsolete elements of SaveFormat. And if you use obsolete property IncludeComments of SwfOptions, TiffOptions, HtmlOptions or PdfOptions classes then NotesCommentsLayouting.CommentsPosition, NotesCommentsLayouting.CommentsAreaWidth and NotesCommentsLayouting.CommentsAreaColor have no effect too.


=Possibility to export a presentation to a set of Bitmap objects

All added methods accept an object of type INotesCommentsLayoutingOptions, which allows to specify look and layouting of notes and comments in received Bitmap objects.

The following methods have been added to the Presentation class and the IPresentation interface:

Bitmap[] GetThumbnails(INotesCommentsLayoutingOptions notesCommentsLayouting);
Bitmap[] GetThumbnails(INotesCommentsLayoutingOptions notesCommentsLayouting, int[] slides);
Bitmap[] GetThumbnails(INotesCommentsLayoutingOptions notesCommentsLayouting, float scaleX, float scaleY);
Bitmap[] GetThumbnails(INotesCommentsLayoutingOptions notesCommentsLayouting, int[] slides, float scaleX, float scaleY);
Bitmap[] GetThumbnails(INotesCommentsLayoutingOptions notesCommentsLayouting, Size imageSize);
Bitmap[] GetThumbnails(INotesCommentsLayoutingOptions notesCommentsLayouting, int[] slides, Size imageSize);

The following examples allows getting a set of Bitmap objects for all existing slides with the arrangement of comments on the right, including full notes.

using (Presentation presentation = new Presentation("comments.pptx"))
{
   NotesCommentsLayoutingOptions options = new NotesCommentsLayoutingOptions();
   options.CommentsPosition = CommentsPositions.Right;
   options.NotesPosition = NotesPositions.BottomFull;

   Bitmap[] bmps = presentation.GetThumbnails(options);
}

To obtain an image of a specific slide, for example, slides 2 and 7, without displaying comments and with notes truncated to the size of the page, you can use the following code.

using (Presentation presentation = new Presentation("comments.pptx"))
{
   NotesCommentsLayoutingOptions options = new NotesCommentsLayoutingOptions();
   options.NotesPosition = NotesPositions.BottomTruncated;

   Bitmap[] bmps = presentation.GetThumbnails(options, new int[] { 2, 7 });
}

The following methods have been added to the Slides class and ISlides interface:

Bitmap GetThumbnail(INotesCommentsLayoutingOptions notesCommentsLayouting);
Bitmap GetThumbnail(INotesCommentsLayoutingOptions notesCommentsLayouting, float scaleX, float scaleY);
Bitmap GetThumbnail(INotesCommentsLayoutingOptions notesCommentsLayouting, Size imageSize);
void RenderToGraphics(INotesCommentsLayoutingOptions notesCommentsLayouting, Graphics graphics, int width, int height);
void RenderToGraphics(INotesCommentsLayoutingOptions notesCommentsLayouting, Graphics graphics, float scale);
void RenderToGraphics(INotesCommentsLayoutingOptions notesCommentsLayouting, Graphics graphics);

To get an image of the third presentation slide with the comments displayed on the right, you can use the following code:

using (Presentation presentation = new Presentation("comments.pptx"))
{
   NotesCommentsLayoutingOptions options = new NotesCommentsLayoutingOptions();
   options.CommentsPosition = CommentsPositions.Right;

   Bitmap bmp = presentation.Slides[2].GetThumbnail(options);
}

Note that the GetThumbnail and RenderToGraphics methods of the Slide class can throw an exception of type InvalidOperationException if the NotesCommentsLayouting.NotesPosition property takes the value NotesPositions.BottomFull. This is due to the fact that when you send NotesCommentsLayouting.NotesPosition, which has the value NotesPositions.BottomFull, the notes may be too long and go beyond the page.

Methods RenderToGraphics (bool withNotes, Graphics graphics, int width, int height), RenderToGraphics (bool withNotes, Graphics graphics, float scale) and RenderToGraphics (bool withNotes, Graphics graphics) of the Slides class and methods GetThumbnail (float scaleX, float scaleY), GetThumbnail (Size imageSize) of the NotesSlide class are marked as obsolete now.


=Property Paragraph.EndParagraphPortionFormat has been added

A new property EndParagraphPortionFormat has been added. This property specifies the portion properties that are to be used if another portion is inserted after the last one.

IParagraph paragraph = autoShape.TextFrame.Paragraphs0;
IPortionFormat endParaPortionFormat = paragraph.EndParagraphPortionFormat;