Aspose.Slides FOSS pour C++ est une bibliothèque sous licence MIT pour travailler avec les fichiers PowerPoint .pptx. Intégrez‑la via CMake FetchContent et commencez immédiatement à créer, lire et modifier des présentations sans installer Microsoft Office ni aucun runtime propriétaire.
La bibliothèque expose une API Presentation construite autour de Presentation, Slide, ShapeCollection, TextFrame, Paragraph et Portion, le modèle conceptuel utilisé par PowerPoint lui‑même. Ajoutez et supprimez des diapositives, insérez des AutoShapes, des tableaux et des connecteurs, formatez le texte au niveau du caractère avec gras, italique, taille et couleur de police, appliquez des remplissages unis ou en dégradé, et ajoutez des effets visuels (ombre, lueur, flou, réflexion).
La sémantique RAII garantit un nettoyage fiable des ressources : le destructeur de Presentation libère automatiquement tout l’état interne. Les parties XML inconnues rencontrées lors du chargement sont conservées mot pour mot lors de l’enregistrement, de sorte que le round‑tripping ne détruit jamais le contenu que la bibliothèque ne comprend pas encore. La bibliothèque nécessite un compilateur compatible C++17.
.pptx existants via Presentation() ou Presentation(path).SlideCollection avec add_clone(), remove() et remove_at().ShapeType via add_auto_shape().add_connector().NotesSlideManager.get_slide_comments().Portion individuels via PortionFormat.FillFormat et FillType.EffectFormat.ParagraphFormat et set_alignment().Aspose.Slides FOSS s’intègre via CMake FetchContent, donc aucun téléchargement manuel ou installation système n’est nécessaire. La bibliothèque se compile à partir du code source en même temps que votre projet.
L’API reflète le modèle d’objets de PowerPoint (Presentation, Slide, ShapeCollection, TextFrame, Paragraph, Portion), de sorte que toute personne familière avec le modèle d’objets de PowerPoint peut utiliser la bibliothèque immédiatement. Elle est sous licence MIT, open‑source sur GitHub, et nécessite un compilateur compatible C++17.
Le RAII garantit que le destructeur de Presentation libère toutes les ressources automatiquement lorsque l’objet sort de la portée. add_auto_shape() accepte une énumération ShapeType, puis la position x/y et la largeur/hauteur en points — le text_frame de la forme permet d’accéder à la définition du contenu texte.
include(FetchContent)
FetchContent_Declare(
aspose_slides_foss
GIT_REPOSITORY https://github.com/aspose-slides-foss/Aspose.Slides-FOSS-for-Cpp.git
GIT_TAG main
)
FetchContent_MakeAvailable(aspose_slides_foss)
#include <Aspose/Slides/Foss/auto_shape.h>
#include <Aspose/Slides/Foss/export/save_format.h>
#include <Aspose/Slides/Foss/presentation.h>
#include <Aspose/Slides/Foss/shape_collection.h>
#include <Aspose/Slides/Foss/shape_type.h>
#include <Aspose/Slides/Foss/slide.h>
#include <Aspose/Slides/Foss/slide_collection.h>
#include <Aspose/Slides/Foss/text_frame.h>
int main() {
Aspose::Slides::Foss::Presentation prs;
auto& slide = prs.slides()[0];
// Ajouter une AutoShape rectangle
auto& shape = slide.shapes().add_auto_shape(
Aspose::Slides::Foss::ShapeType::RECTANGLE,
50, 50, 400, 150
);
shape.text_frame()->set_text("Bonjour, Aspose.Slides!");
prs.save("output.pptx", Aspose::Slides::Foss::SaveFormat::PPTX);
return 0;
}
Le formatage du texte fonctionne au niveau du Portion — la plus petite unité d’une séquence de caractères. Ouvrez le fichier enregistré, naviguez jusqu’à la première portion du premier paragraphe, et définissez les propriétés de police directement. Le remplissage de la forme est indépendant : définissez le type de remplissage sur solide et attribuez une couleur.
#include <Aspose/Slides/Foss/presentation.h>
namespace asf = Aspose::Slides::Foss;
int main() {
asf::Presentation prs("output.pptx");
auto& shape = prs.slides()[0].shapes()[0];
auto& portion = shape.text_frame()
->paragraphs()[0].portions()[0];
// Gras, texte 18pt
portion.portion_format().set_font_bold(asf::NullableBool::TRUE);
portion.portion_format().set_font_height(18);
// Remplissage de fond solide sur la forme
shape.fill_format().set_fill_type(asf::FillType::SOLID);
prs.save("formatted.pptx", asf::SaveFormat::PPTX);
return 0;
}
C’est une bibliothèque C++ gratuite, sous licence MIT, pour créer, lire et modifier des présentations PowerPoint .pptx sans nécessiter Microsoft Office.
PPTX est le format de lecture/écriture pris en charge. L’exportation vers PDF, HTML, SVG ou images n’est pas disponible dans cette édition.
Non. Aspose.Slides FOSS est une bibliothèque C++ autonome sans dépendance à Microsoft Office, à l’automatisation COM ou à tout runtime propriétaire.
Utilisez CMake FetchContent pour intégrer la bibliothèque directement depuis GitHub. La bibliothèque nécessite un compilateur compatible C++17.
Oui. La bibliothèque prend en charge les effets d’ombre externe, de lueur, de flou et de réflexion sur tout objet de forme via l’API EffectFormat.
Oui. Le destructeur Presentation libère automatiquement tout l’état interne, ainsi aucune opération de nettoyage explicite n’est nécessaire.
Non. Les parties XML inconnues rencontrées lors du chargement sont conservées mot pour mot lors de l’enregistrement, de sorte que le contenu que la bibliothèque ne comprend pas encore n’est jamais perdu.
La bibliothèque est sous licence MIT et hébergée sur GitHub. Les rapports de bugs et les pull requests sont les bienvenus.