Browse our Products

Aspose.Slides for C++ 21.12 Release Notes

Supported Platforms

  • Aspose.Slides for C++ for Windows x64 (Microsoft Visual C++).
  • Aspose.Slides for C++ for Windows x86 (Microsoft Visual C++).
  • Aspose.Slides for C++ for Linux (Clang).

New Features and Enhancements

KeySummaryCategory
SLIDESNET-42825LowCode API to provide simple interface for common methodsFeature
SLIDESNET-37300Charts callout failed to render in exported PDFFeature

Other Improvements and Changes

KeySummaryCategory
SLIDESCPP-2778Use Aspose.Slides for .NET 21.12 featuresEnhancement
SLIDESCPP-3206Loading ODP file throws NullReferenceExceptionBug

Public API Changes

Support for Summary Zoom and Section Zoom

We implemented support for Section zoom and Summary zoom. See the Manage Zoom article.

This C++ code demonstrates the creation of SectionZoomFrame and SummaryZoomFrame objects:

using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;

auto pres = System::MakeObject<Presentation>();

//Adds a new slide to the presentation
auto slide = pres->get_Slides()->AddEmptySlide(pres->get_Slides()->idx_get(0)->get_LayoutSlide());
slide->get_Background()->get_FillFormat()->set_FillType(Aspose::Slides::FillType::Solid);
slide->get_Background()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Brown());
slide->get_Background()->set_Type(Aspose::Slides::BackgroundType::OwnBackground);

// Adds a new section to the presentation
pres->get_Sections()->AddSection(u"Section 1", slide);

//Adds a new slide to the presentation
slide = pres->get_Slides()->AddEmptySlide(pres->get_Slides()->idx_get(0)->get_LayoutSlide());
slide->get_Background()->get_FillFormat()->set_FillType(Aspose::Slides::FillType::Solid);
slide->get_Background()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Aqua());
slide->get_Background()->set_Type(Aspose::Slides::BackgroundType::OwnBackground);

// Adds a new section to the presentation
pres->get_Sections()->AddSection(u"Section 2", slide);

//Adds a new slide to the presentation
slide = pres->get_Slides()->AddEmptySlide(pres->get_Slides()->idx_get(0)->get_LayoutSlide());
slide->get_Background()->get_FillFormat()->set_FillType(Aspose::Slides::FillType::Solid);
slide->get_Background()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Chartreuse());
slide->get_Background()->set_Type(Aspose::Slides::BackgroundType::OwnBackground);

// Adds a new section to the presentation
pres->get_Sections()->AddSection(u"Section 3", slide);

//Adds a new slide to the presentation
slide = pres->get_Slides()->AddEmptySlide(pres->get_Slides()->idx_get(0)->get_LayoutSlide());
slide->get_Background()->get_FillFormat()->set_FillType(Aspose::Slides::FillType::Solid);
slide->get_Background()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_DarkGreen());
slide->get_Background()->set_Type(Aspose::Slides::BackgroundType::OwnBackground);

// Adds a new section to the presentation
pres->get_Sections()->AddSection(u"Section 4", slide);

// Adds a SectionZoomFrame object
auto sectionZoomFrame = pres->get_Slides()->idx_get(0)->get_Shapes()->AddSectionZoomFrame(20.0f, 20.0f, 300.0f, 200.0f, pres->get_Sections()->idx_get(1));

// Adds SummaryZoomFrame object
auto  summaryZoomFrame = pres->get_Slides()->idx_get(0)->get_Shapes()->AddSummaryZoomFrame(350.0f, 50.0f, 300.0f, 200.0f);

// Saves the presentation
pres->Save(u"presentation.pptx", Aspose::Slides::Export::SaveFormat::Pptx);

Low Code API

We implemented a low code API that allows you to perform popular operations using only a few lines of code.

For example, with this single line of code, you can convert a PowerPoint to PDF:

using namespace Aspose::Slides;

LowCode::Convert::AutoByExtension(u"pres.pptx", u"pres.pdf");

This is another example that demonstrates shows you how to output each portion of text in a presentation using as few lines of code as possible:

using namespace Aspose::Slides;

void portion_callback(System::SharedPtr<Portion> portion, System::SharedPtr<Paragraph> para, System::SharedPtr<BaseSlide> slide, int32_t index)
{
    System::Console::WriteLine(portion->get_Text());
}

int main()
{
    auto pres = System::MakeObject<Presentation>(u"pres.pptx");
    LowCode::ForEach::Portion(pres, portion_callback);
}

ObjectData, EmbeddedFileExtension, and EmbeddedFileData have been removed from the IOleObjectFrame interface

Obsolete properties ObjectData, EmbeddedFileExtension, and EmbeddedFileData have been removed from IOleObjectFrame interface. Use the SetEmbeddedData() method and get_EmbeddedData() method from the IOleObjectFrame interface instead.