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
Key | Summary | Category |
---|---|---|
SLIDESNET-42825 | LowCode API to provide simple interface for common methods | Feature |
SLIDESNET-37300 | Charts callout failed to render in exported PDF | Feature |
Other Improvements and Changes
Key | Summary | Category |
---|---|---|
SLIDESCPP-2778 | Use Aspose.Slides for .NET 21.12 features | Enhancement |
SLIDESCPP-3206 | Loading ODP file throws NullReferenceException | Bug |
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.