Aspose.Slides.NET
17.9.0
See the version list below for details.
dotnet add package Aspose.Slides.NET --version 17.9.0
NuGet\Install-Package Aspose.Slides.NET -Version 17.9.0
<PackageReference Include="Aspose.Slides.NET" Version="17.9.0" />
paket add Aspose.Slides.NET --version 17.9.0
#r "nuget: Aspose.Slides.NET, 17.9.0"
// Install Aspose.Slides.NET as a Cake Addin #addin nuget:?package=Aspose.Slides.NET&version=17.9.0 // Install Aspose.Slides.NET as a Cake Tool #tool nuget:?package=Aspose.Slides.NET&version=17.9.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 | Versions 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. |
This package has no dependencies.
NuGet packages (18)
Showing the top 5 NuGet packages that depend on Aspose.Slides.NET:
Package | Downloads |
---|---|
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
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.Slides.WebExtensions
New Aspose.Slides HTML Export system, which allows exporting PowerPoint presentation as a highly customizable HTML/CSS/JS web document. |
|
AsposeHelpers
Aspose helpers |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
24.12.0 | 4,402 | 16 days ago |
24.11.0 | 16,061 | a month ago |
24.10.0 | 24,762 | 2 months ago |
24.9.0 | 26,299 | 3 months ago |
24.8.0 | 56,230 | 5 months ago |
24.7.0 | 19,326 | 5 months ago |
24.6.0 | 31,901 | 6 months ago |
24.5.0 | 40,115 | 7 months ago |
24.4.0 | 36,214 | 8 months ago |
24.3.0 | 76,726 | 9 months ago |
24.2.0 | 42,555 | 2/16/2024 |
24.1.0 | 60,677 | 1/19/2024 |
23.12.0 | 93,660 | 12/11/2023 |
23.11.0 | 102,943 | 11/16/2023 |
23.10.0 | 121,499 | 10/19/2023 |
23.9.0 | 88,081 | 9/20/2023 |
23.8.0 | 65,477 | 8/21/2023 |
23.7.0 | 51,136 | 7/18/2023 |
23.6.0 | 51,307 | 6/26/2023 |
23.5.0 | 146,531 | 5/19/2023 |
23.4.0 | 128,129 | 4/20/2023 |
23.3.1 | 83,811 | 3/23/2023 |
23.2.0 | 54,471 | 2/27/2023 |
23.1.0 | 196,457 | 1/27/2023 |
22.12.0 | 210,484 | 12/16/2022 |
22.11.0 | 137,957 | 11/23/2022 |
22.10.0 | 254,170 | 10/18/2022 |
22.9.0 | 116,864 | 9/13/2022 |
22.8.0 | 64,713 | 8/17/2022 |
22.7.0 | 83,316 | 7/19/2022 |
22.6.0 | 90,944 | 6/24/2022 |
22.5.0 | 99,198 | 5/17/2022 |
22.4.0 | 93,679 | 4/15/2022 |
22.3.0 | 74,196 | 3/17/2022 |
22.2.0 | 138,884 | 2/16/2022 |
22.1.0 | 119,259 | 1/19/2022 |
21.12.0 | 86,296 | 12/17/2021 |
21.11.0 | 114,160 | 11/16/2021 |
21.10.0 | 104,906 | 10/7/2021 |
21.9.0 | 378,204 | 9/20/2021 |
21.8.0 | 97,433 | 8/16/2021 |
21.7.0 | 88,627 | 7/15/2021 |
21.6.0 | 39,671 | 6/17/2021 |
21.5.0 | 70,862 | 5/18/2021 |
21.4.0 | 92,187 | 4/18/2021 |
21.3.0 | 90,120 | 3/19/2021 |
21.2.0 | 100,420 | 2/16/2021 |
21.1.0 | 96,235 | 1/21/2021 |
20.12.0 | 97,988 | 12/10/2020 |
20.11.1 | 6,568 | 12/10/2020 |
20.11.0 | 130,995 | 12/23/2020 |
20.10.0 | 82,404 | 10/19/2020 |
20.9.0 | 24,327 | 9/25/2020 |
20.8.0 | 64,375 | 8/17/2020 |
20.7.0 | 51,816 | 7/17/2020 |
20.6.0 | 67,761 | 6/12/2020 |
20.5.0 | 64,047 | 5/7/2020 |
20.4.0 | 51,237 | 4/22/2020 |
20.3.0 | 58,005 | 3/23/2020 |
20.2.0 | 88,679 | 2/17/2020 |
20.1.0 | 69,855 | 1/17/2020 |
19.12.0 | 54,947 | 12/31/2019 |
19.11.0 | 47,760 | 11/27/2019 |
19.10.0 | 72,353 | 10/29/2019 |
19.9.0 | 65,329 | 9/12/2019 |
19.8.0 | 12,797 | 8/30/2019 |
19.7.0 | 41,152 | 7/26/2019 |
19.6.0 | 29,671 | 6/25/2019 |
19.5.0 | 20,243 | 5/31/2019 |
19.4.0 | 30,818 | 4/26/2019 |
19.3.0 | 14,442 | 4/3/2019 |
19.2.0 | 37,471 | 2/28/2019 |
19.1.0 | 86,071 | 1/30/2019 |
18.12.0 | 53,539 | 12/27/2018 |
18.11.0 | 30,070 | 11/30/2018 |
18.10.0 | 54,301 | 10/30/2018 |
18.9.0 | 18,321 | 9/30/2018 |
18.8.0 | 17,743 | 8/29/2018 |
18.7.0 | 30,882 | 7/27/2018 |
18.6.0 | 37,597 | 7/1/2018 |
18.5.0 | 17,363 | 5/30/2018 |
18.4.0 | 35,298 | 5/3/2018 |
18.3.0 | 19,088 | 4/1/2018 |
18.2.1 | 55,716 | 3/7/2018 |
18.2.0 | 31,990 | 2/28/2018 |
18.1.0 | 30,357 | 1/30/2018 |
17.12.1 | 15,587 | 12/26/2017 |
17.12.0 | 4,771 | 12/16/2017 |
17.11.0 | 7,786 | 11/30/2017 |
17.10.0 | 27,222 | 10/31/2017 |
17.9.1 | 7,443 | 10/12/2017 |
17.9.0 | 6,999 | 10/2/2017 |
17.8.0 | 56,025 | 8/30/2017 |
17.7.0 | 19,995 | 7/31/2017 |
17.6.0 | 11,711 | 7/1/2017 |
17.5.0 | 8,598 | 5/31/2017 |
17.4.0 | 9,989 | 4/28/2017 |
17.3.0 | 17,340 | 4/2/2017 |
17.2.0 | 37,912 | 3/1/2017 |
17.1.0 | 8,690 | 1/31/2017 |
16.12.1 | 15,275 | 1/16/2017 |
16.12.0 | 5,771 | 12/27/2016 |
16.11.0 | 9,442 | 11/30/2016 |
16.10.0 | 11,816 | 11/4/2016 |
16.9.0 | 8,650 | 10/12/2016 |
16.8.0 | 42,251 | 9/27/2016 |
16.7.0 | 5,320 | 8/22/2016 |
16.6.0 | 55,259 | 7/15/2016 |
16.5.0 | 13,239 | 6/16/2016 |
16.4.0 | 9,490 | 5/16/2016 |
16.3.0 | 18,492 | 4/11/2016 |
16.2.0 | 9,711 | 3/17/2016 |
16.1.0 | 22,899 | 2/4/2016 |
15.11.0 | 31,699 | 1/11/2016 |
15.10.0 | 13,776 | 12/10/2015 |
15.9.0 | 10,570 | 11/6/2015 |
15.8.1 | 4,323 | 10/16/2015 |
15.8.0 | 5,171 | 10/5/2015 |
15.7.0 | 76,751 | 9/3/2015 |
15.6.0 | 36,076 | 7/22/2015 |
15.5.0 | 11,410 | 6/16/2015 |
15.4.0 | 8,551 | 5/14/2015 |
15.3.1 | 6,620 | 4/23/2015 |
15.3.0 | 4,025 | 4/14/2015 |
15.2.0 | 42,513 | 3/6/2015 |
15.1.0 | 12,275 | 2/3/2015 |
14.10.0 | 17,500 | 11/28/2014 |
14.9.0 | 7,730 | 11/11/2014 |
14.8.1 | 4,701 | 10/24/2014 |
14.8.0 | 3,880 | 10/16/2014 |
14.7.0 | 5,086 | 9/7/2014 |
14.6.0 | 4,682 | 8/6/2014 |
14.5.0 | 8,835 | 7/16/2014 |
14.4.0 | 5,974 | 6/2/2014 |
14.3.0 | 8,415 | 5/6/2014 |
14.2.0 | 4,407 | 3/24/2014 |
14.1.2 | 6,636 | 2/17/2014 |
14.1.1 | 3,717 | 2/10/2014 |
14.1.0.2 | 3,595 | 2/6/2014 |
13.12.0 | 4,596 | 12/30/2013 |
8.4.2 | 47,500 | 6/5/2014 |
8.4.1 | 4,243 | 5/6/2014 |
8.4.0 | 6,914 | 3/3/2014 |
8.3.0.1 | 4,062 | 2/3/2014 |
8.2.0 | 3,831 | 12/27/2013 |
8.1.0 | 11,433 | 12/16/2013 |
8.0.0 | 5,012 | 10/25/2013 |
7.9.0 | 4,249 | 10/8/2013 |
7.8.0 | 3,864 | 9/3/2013 |
7.7.0 | 11,909 | 8/4/2013 |
7.6.0 | 7,221 | 7/5/2013 |
7.5.0 | 6,256 | 5/27/2013 |
7.4.0 | 10,292 | 4/24/2013 |
7.3.0 | 3,640 | 4/10/2013 |
7.2.0 | 4,295 | 3/8/2013 |
7.1.0 | 6,007 | 1/28/2013 |
7.0.0 | 6,134 | 12/31/2012 |
6.9.0 | 3,613 | 12/10/2012 |
6.8.0 | 3,988 | 10/30/2012 |
6.7.0 | 4,314 | 10/4/2012 |
6.6.0 | 3,520 | 9/13/2012 |
6.5.0 | 3,865 | 7/27/2012 |
6.4.0 | 3,612 | 6/27/2012 |
6.3.0 | 3,542 | 5/29/2012 |
6.2.0 | 3,736 | 5/7/2012 |
6.1.0 | 3,647 | 3/28/2012 |
6.0.0 | 4,005 | 3/2/2012 |
5.9.0.1 | 8,007 | 2/16/2012 |
5.9.0 | 7,287 | 2/16/2012 |
There are known performance regressions in this release. They are related to new styles nesting functionality. We are working on improvements and going to prepare a fix.
SLIDESNET-38899 - Option for saving css and images separately when exporting as html
SLIDESNET-39196 - Render notes when saving as HTML
SLIDESNET-39113 - Saving into HTML with preserving original fonts
SLIDESNET-39090 - The possibility to specify fonts to process a single presentation
SLIDESNET-39125 - The font has changed in the cloned presentation
SLIDESNET-39237 - Exporting Powerpoint files to PDF is x2 slower at least
SLIDESNET-39281 - WordArt text differs from expected
SLIDESNET-38015 - When PPTX is converted to PDF, the values in chart are missing
SLIDESNET-39279 - After open and save PPTX, output file returns an error for embedded PPTX
SLIDESNET-39302 - Arrow bullets get overlapped on text in generated PDF
SLIDESNET-39303 - Text is improperly rendered in generated PDF
SLIDESNET-39304 - Text position getting changed in generated PDF and thumbnail
SLIDESNET-39306 - Text (WordArt) is improperly rendered in thumbnail
SLIDESNET-39286 - Font file is locked after call to ClearCache method
SLIDESNET-39312 - System.ArgumentException when converting specific Pptx to Ppt or Pps
SLIDESNET-39133 - Exception on copying excel chart in ppt
SLIDESNET-39221 - Border gets visible around placeholder in generated thumbnails
SLIDESNET-39235 - Timed based animation on bullet effects are lost on cloning slides
SLIDESNET-39276 - Pptx not properly converted to pdf
SLIDESNET-32445 - Missing image in exported slide SVG Image
SLIDESNET-33962 - Text missing or improperly rendered in generated SVG
SLIDESNET-35966 - Axis Labels wrapping are not as in the generated PDF file
SLIDESNET-37253 - Shadow effects lost in generated thumbnail
SLIDESNET-37609 - Footer and slide number are added to the first slide after loading and saving a ppt
SLIDESNET-37680 - Shadow is added to Text after saving ppt
SLIDESNET-37750 - Font position changes after saving ppt
SLIDESNET-38552 - Font size changes
SLIDESNET-39054 - PptxRead exception on loading presentaiton
SLIDESNET-39108 - Unexpected text shadow effect shows up
SLIDESNET-39120 - Animation dimming effect missing after saving presentation
SLIDESNET-39129 - NotImplemented Exception is thrown on adding CategoryAxisType.Auto
SLIDESNET-39131 - ArgumentException on cloning slide
SLIDESNET-39142 - Shape becomes 3D after saving ppt
SLIDESNET-39143 - Arrow shape is changed after saving ppt
SLIDESNET-39149 - Image is not getting added for table cell in exported PDF
SLIDESNET-39163 - Animation effects are lost on saving presentation
SLIDESNET-39185 - Font exception on reading a presentation in Mono MAC OS environment
SLIDESNET-39195 - Pptx not properly converted to pdf
SLIDESNET-39208 - Exception on loading presentation
SLIDESNET-39214 - Exception on loading presentation
SLIDESNET-39215 - Ppt changed after saving: hyperlinks are gone
SLIDESNET-39222 - PptxRead exception on loading presentaiton
SLIDESNET-39225 - PptxReadException on reading presentation
SLIDESNET-39233 - Slides are rendered blank or with improper orientation in exported HTML
SLIDESNET-39240 - Repair message on opening the Aspose.Slides saved presentation in MS 2010
SLIDESNET-39243 - Arrow bullets get overlapped on text in PDF
SLIDESNET-39264 - Arrow bullets changed to square in saved presentation
SLIDESNET-39268 - Exception on saving presentation
SLIDESNET-39275 - InvalidOperationException on saving the presentation
SLIDESNET-39317 - Hyperlink with Japanese characters is converted to URL encoding
Public API Changes
Added possibility to specify fonts used with a presentation
A new DocumentLevelFontSources property has been added to ILoadOptions interface. It allows to specify external fonts that are used with the presentation.
DocumentLevelFontSources property is of type IFontSources that has the following properties:
string[] FontFolders - folders that are recursively searched for font files.
byte[][] MemoryFonts - a collection of fonts represented as byte arrays.
byte[] memoryFont1 = File.ReadAllBytes("customfonts\\CustomFont1.ttf");
byte[] memoryFont2 = File.ReadAllBytes("customfonts\\CustomFont2.ttf");
ILoadOptions loadOptions = new LoadOptions();
loadOptions.DocumentLevelFontSources.FontFolders = new string[] { "assets\\fonts", "global\\fonts" };
loadOptions.DocumentLevelFontSources.MemoryFonts = new byte[][] { memoryFont1, memoryFont2 };
using (IPresentation presentation = CreatePresentation("MyPresentation.pptx", loadOptions))
{
//work with the presentation
//CustomFont1, CustomFont2 as well as fonts from assets\fonts & global\fonts folders and their subfolders are available to the presentation
}
The fonts that are passed with DocumentLevelFontSources property are available to the presentation throughout its lifetime and are not available outside the presentation. Consider the following example:
string[] fontFolders1 = new string[] { "assets\\fonts" };
string[] fontFolders2 = new string[] { "global\\fonts" };
byte[] memoryFont1 = File.ReadAllBytes("customfonts\\CustomFont1.ttf");
byte[] memoryFont2 = File.ReadAllBytes("customfonts\\CustomFont2.ttf");
IFontSources fontSources1 = new FontSources { FontFolders = fontFolders1, MemoryFonts = new byte[][] { memoryFont1 } };
IFontSources fontSources2 = new FontSources { FontFolders = fontFolders2, MemoryFonts = new byte[][] { memoryFont2 } };
using (IPresentation presentation1 = CreatePresentation("MyPresentation1.pptx", new LoadOptions { DocumentLevelFontSources = fontSources1 }))
using (IPresentation presentation2 = CreatePresentation("MyPresentation2.pptx", new LoadOptions { DocumentLevelFontSources = fontSources2 }))
{
//work with the presentations
//CustomFont1 as well as fonts from assets\fonts folder and its subfolders are available to presentation1 but not to presentation2
//CustomFont2 as well as fonts from global\fonts folder and its subfolders are available to presentation2 but not to presentation1
}
If you need to add external fonts at application level and make it available to all presentations please use FonsLoader class. You can use them together like as follows:
byte[] globalMemoryFont = File.ReadAllBytes("customfonts\\CustomFont1.ttf");
byte[] localMemoryFont = File.ReadAllBytes("customfonts\\CustomFont2.ttf");
ILoadOptions loadOptions = new LoadOptions();
loadOptions.DocumentLevelFontSources.FontFolders = new string[] { "assets\\fonts" };
loadOptions.DocumentLevelFontSources.MemoryFonts = new byte[][] { localMemoryFont };
using (IPresentation presentation = CreatePresentation("MyPresentation.pptx", loadOptions))
{
//work with the presentation
//CustomFont2 as well as fonts from assets\fonts folder and its subfolders are available to the presentation
//CustomFont1 as well as fonts from global\fonts folder and its subfolders are unavailable to the presentation
}
FontsLoader.LoadExternalFonts(new string[] { "global\\fonts" });
FontsLoader.LoadExternalFont(globalMemoryFont);
using (IPresentation presentation = CreatePresentation("MyPresentation.pptx", loadOptions))
{
//work with the presentation
//CustomFont1 and CustomFont2 as well as fonts from global\fonts and assets\fonts folders and their subfolders are available to the presentation
}
CategoryAxisType.Auto value has been replaced with IAxis.SetCategoryAxisTypeAutomatically() method
Method IAxis.SetCategoryAxisTypeAutomatically() sets IAxis.CategoryAxisType property with a value that is automatically determined based on axis data.
Element HtmlNotes has been added to SaveFormat enumeration
Element HtmlNotes has been added to Aspose.Slides.Export.SaveFormat enumeration. This element allows saving presentation Notes Page View into HTML format.
Code example:
using (Presentation pres = new Presentation("Presentation.pptx"))
{
// Saving notes pages
pres.Save("Output.html", SaveFormat.HtmlNotes);
}
Obsolete Presentation.GetPresentationText methods have been deleted
Obsolete Presentation.GetPresentationText methods have been deleted:
Aspose.Slides.Presentation.GetPresentationText(Stream stream, TextExtractionArrangingMode mode)
Aspose.Slides.Presentation.GetPresentationText(String file, TextExtractionArrangingMode mode)
Aspose.Slides.Presentation.GetPresentationText(Stream stream, TextExtractionArrangingMode mode, LoadOptions options)
Write document elements methods have been made virtual in EmbedAllFontsHtmlController class. WriteAllFonts method has been Added.
WriteDocumentStart, WriteDocumentEnd, WriteSlideStart, WriteSlideEnd, WriteShapeStart, WriteShapeEnd methods have been made virtual to provide a better support to customize generated HTML documents.
In addition, WriteAllFonts method has been added. It allows overriding the way how all fonts contained in the presentation are serialized into HTML.
Please review the example how to use overridable methods to create a custom HTML document with a link to CSS file.
public class CustomHeaderAndFontsController : EmbedAllFontsHtmlController
{
// Custom header template
const string Header = +"<!DOCTYPE html>\n" +
"<html>\n" +
"<head>\n" +
"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n" +
"<meta http-equiv=\"X-UA-Compatible\" content=\"IE=9\">\n" +
"<link rel=\"stylesheet\" type=\"text/css\" href=\"{0}\">\n" +
"</head>";
private readonly string m_cssFileName;
public CustomHeaderAndFontsController(string cssFileName)
{
m_cssFileName = cssFileName;
}
public override void WriteDocumentStart(IHtmlGenerator generator, IPresentation presentation)
{
generator.AddHtml(string.Format(Header, m_cssFileName));
WriteAllFonts(generator, presentation);
}
public override void WriteAllFonts(IHtmlGenerator generator, IPresentation presentation)
{
generator.AddHtml("<!-- Embedded fonts -->");
base.WriteAllFonts(generator, presentation);
}
}
There is the example how CustomHeaderAndFontsController can be used.
using (Presentation pres = new Presentation("pres.pptx"))
{
CustomHeaderAndFontsController htmlController = new CustomHeaderAndFontsController("styles.css");
HtmlOptions options = new HtmlOptions
{
HtmlFormatter = HtmlFormatter.CreateCustomFormatter(htmlController),
};
pres.Save("pres.html", SaveFormat.Html, options);
}