Browse our Products

Aspose.Slides for C++ 23.7 Release Notes

Supported Platforms

  • Aspose.Slides for C++ for Windows x64/x86 (Microsoft Visual Studio 2017 or later).
  • Aspose.Slides for C++ for Linux (Clang 3.9 or later, GCC 6.1 or later, glibc 2.23 or later).
  • Aspose.Slides for C++ for macOS (Xcode 13.4 or later).

New Features and Enhancements

KeySummaryCategoryRelated Documentation
SLIDESNET-43446Convert presentation to markdownFeature
SLIDESNET-37059Support for importing HTML table in Aspose.SlideFeaturehttps://docs.aspose.com/slides/net/import-presentation/#import-powerpoint-from-html
SLIDESNET-43669Generating exceptions when contents are missing in PDFEnhancementhttps://docs.aspose.com/slides/net/conversion-to-pdf/
SLIDESNET-43837PPTX to HTML5: Saving images externallyFeaturehttps://docs.aspose.com/slides/net/export-to-html5/
SLIDESNET-42818Importing HTML documents with images and tablesFeaturehttps://docs.aspose.com/slides/net/import-presentation/

Other Improvements and Changes

KeySummaryCategoryRelated Documentation
SLIDESCPP-3615Use Aspose.Slides for .NET 23.7 featuresEnhancementhttps://docs.aspose.com/slides/net/aspose-slides-for-net-23-7-release-notes/

Public API Changes

Markdown export

The presentation can now be exported in a new format: Markdown. The default export looks like this:

New member of the SaveFormat enum class has been added: SaveFormat::Md.

auto pres = System::MakeObject<Presentation>(u"pres.pptx");
pres->Save(u"pres.md", Aspose::Slides::Export::SaveFormat::Md);

In this case, the default settings will be used:

  • the export type is MarkdownExportType::TextOnly, which means that only text will be exported (pictures and other things will be omitted).
  • default markdown specification: Flavor::Default.

Different dialects of markdown exports are supported:

  • GitLab
  • Github
  • CommonMark
  • Trello
  • XWiki
  • StackOverflow …and many others.

A new MarkdownSaveOptions class has been added to allow configure options of the resulting Markdown document.

In order to save the markdown to Github flavor you can use this code:

auto pres = System::MakeObject<Presentation>(u"pres.pptx");
auto opt = System::MakeObject<MarkdownSaveOptions>();
opt->set_Flavor(Aspose::Slides::DOM::Export::Markdown::SaveOptions::Flavor::Github);
pres->Save(u"pres.md", Aspose::Slides::Export::SaveFormat::Md, opt);

In addition, you can export a presentation with images to markdown. There are two variants of this export:

  • Sequential: render all items separately, one by one.
  • Visual: render all items, items that are grouped will be rendered together.

Example:

auto pres = System::MakeObject<Presentation>(u"pres.pptx");
auto opt = System::MakeObject<MarkdownSaveOptions>();
opt->set_ExportType(Aspose::Slides::DOM::Export::Markdown::SaveOptions::MarkdownExportType::Visual);
pres->Save(u"pres.md", Aspose::Slides::Export::SaveFormat::Md, opt);

In this case, images will be saved to the current directory of the application (and a relative path will be built for them in the markdown document).

The path and folder name for saving can also be specified via options:

auto pres = System::MakeObject<Presentation>(u"pres.pptx");
const System::String outPath = u"x:\\documents";
auto opt = System::MakeObject<MarkdownSaveOptions>();
opt->set_ExportType(Aspose::Slides::DOM::Export::Markdown::SaveOptions::MarkdownExportType::Visual);
opt->set_ImagesSaveFolderName(u"md-images");
opt->set_BasePath(outPath);
pres->Save(System::IO::Path::Combine(outPath, u"pres.md"), Aspose::Slides::Export::SaveFormat::Md, opt);

HTML5 embedded images

New methods have been added to the Html5Options class:

  • get_EmbedImages() and set_EmbedImages()
  • get_OutputPath() and set_OutputPath()

With them, when saving in Html5, you can save images externally and the HTML document will use relative references to them.

Example:

auto pres = System::MakeObject<Presentation>(u"pres.pptx");
const System::String outPath = u"x:\\documents";
System::SharedPtr<Html5Options> options = System::MakeObject<Html5Options>();
options->set_EmbedImages(false);
options->set_OutputPath(outPath);
pres->Save(System::IO::Path::Combine(outPath, u"pres.html"), Aspose::Slides::Export::SaveFormat::Html5, options);