Developer Guide

This guide covers the core capabilities of Aspose.Slides FOSS for C++ with compilable code examples for each feature area.

In This Section

PageDescription
Features and CapabilitiesFull list of supported features: slides, shapes, text, fill, effects, 3D formatting, notes, comments, images, and document properties.
Working with ImagesEmbed images into slides as picture frames from file or byte vector; control fill mode (stretch, tile).
Working with ConnectorsAdd bent, elbow, and straight connectors between shapes; set connection sites and line style.
Working with 3D EffectsApply outer shadow, glow, blur, bevel, camera presets, light rigs, and materials to shapes.
Working with CommentsAdd threaded review comments and speaker notes; manage comment authors; read annotations.

API Entry Point

Every operation starts with a Presentation object. It uses RAII for automatic resource cleanup:

#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/export/save_format.h>

using namespace Aspose::Slides::Foss;

// Open existing
{
    Presentation pres("input.pptx");
    // work with pres
    pres.save("output.pptx", SaveFormat::PPTX);
}

// Create new
{
    Presentation pres;
    // work with pres
    pres.save("new.pptx", SaveFormat::PPTX);
}

When the Presentation object goes out of scope, internal XML/OPC resources are released. You can also call pres.dispose() explicitly; calling it multiple times is safe.

Supported Output Format

The only supported save format is PPTX (SaveFormat::PPTX). Export to PDF, HTML, SVG, or image formats is not available in this edition.

Key Classes

Class / EnumHeaderDescription
Presentationpresentation.hRoot container; uses RAII for resource management
ShapeTypeshape_type.hEnum for shape types (RECTANGLE, ELLIPSE, …)
FillTypefill_type.hEnum for fill types (SOLID, GRADIENT, …)
NullableBoolnullable_bool.hTri-state bool for formatting (TRUE, FALSE, NOT_DEFINED)
SaveFormatexport/save_format.hOutput format enum (only PPTX supported)
Colordrawing/color.hARGB color constructor
PointFdrawing/point_f.hFloat 2D point (used for comment positions)

All headers are under Aspose/Slides/Foss/. The namespace is Aspose::Slides::Foss. Drawing types use Aspose::Slides::Foss::Drawing.

Known Limitations

The following areas are not available in this edition:

  • Charts: no chart creation or modification
  • SmartArt: not supported
  • Animations and transitions: slide transitions and object animations cannot be set
  • Export formats: only PPTX save is supported; no PDF, HTML, SVG, or image export
  • Hyperlinks and action settings: link objects are not modifiable
  • VBA macros and digital signatures: not accessible

Unknown XML parts encountered during load are preserved verbatim on save, so round-tripping never removes content the library does not yet understand.

See Also