1. Produits
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for C++

Aspose.Slides FOSS pour C++

Créez, lisez et modifiez des présentations PowerPoint depuis C++ — gratuit et open-source, aucune dépendance à Office requise.

Bibliothèque C++ open-source pour les présentations PowerPoint

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.

API de présentation et de diapositive

  • Créer et ouvrir un PPTX : Créez de nouvelles présentations ou ouvrez des fichiers .pptx existants via Presentation() ou Presentation(path).
  • Ajouter et supprimer des diapositives : Gérez programmatique la SlideCollection avec add_clone(), remove() et remove_at().
  • AutoShapes : Insérez des rectangles, ellipses, lignes et autres géométries ShapeType via add_auto_shape().
  • Tableaux et connecteurs : Ajoutez des formes de tableau structurées et des lignes de connexion entre les formes via add_connector().
  • Notes du présentateur : Lisez et écrivez les notes du présentateur par diapositive via NotesSlideManager.
  • Commentaires en fil : Accédez aux fils de commentaires au niveau des diapositives avec get_slide_comments().

Où Aspose.Slides FOSS peut être utilisé

  • Génération de rapports : Créez des présentations de marque à partir de sources de données sans Office.
  • Automatisation de modèles : Remplissez les modèles PPTX avec du contenu dynamique dans les pipelines CI/CD.
  • Migration de contenu : Lire les présentations existantes et restructurer ou re‑styler les diapositives.
  • Systèmes embarqués : Traiter les fichiers PPTX dans des environnements critiques en termes de performances ou à ressources limitées.
  • Traitement par lots : Appliquer des modifications de formatage uniformes sur de grandes bibliothèques de présentations.

Mise en forme du texte et effets visuels

  • Mise en forme au niveau du caractère : Appliquez le gras, l’italique, la taille et la couleur de police aux objets Portion individuels via PortionFormat.
  • Remplissages unis et en dégradé : Définissez le remplissage d’une forme à une couleur unie ou à un dégradé linéaire à plusieurs arrêts à l’aide de FillFormat et FillType.
  • Effets d’ombre et de lueur : Appliquez une ombre externe, une lueur, un flou et une réflexion à n’importe quelle forme via EffectFormat.
  • Alignement des paragraphes : Définissez l’alignement à gauche, centré, à droite ou justifié par paragraphe à l’aide de ParagraphFormat et set_alignment().
  • Sécurité du round‑trip : Les parties XML inconnues sont conservées mot pour mot lors du nouvel enregistrement.

Expérience développeur

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.

Créer une présentation et ajouter une forme

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;
}

Formater le texte et appliquer un effet de remplissage

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;
}

Foire aux questions

Qu’est-ce que Aspose.Slides FOSS pour C++ ?

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.

Quels formats de fichiers sont pris en charge ?

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.

Cela nécessite-t-il Microsoft Office ou PowerPoint ?

Non. Aspose.Slides FOSS est une bibliothèque C++ autonome sans dépendance à Microsoft Office, à l’automatisation COM ou à tout runtime propriétaire.

Comment l’installer ?

Utilisez CMake FetchContent pour intégrer la bibliothèque directement depuis GitHub. La bibliothèque nécessite un compilateur compatible C++17.

Puis-je appliquer des effets visuels comme l’ombre et la lueur ?

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.

La bibliothèque utilise-t-elle le RAII pour la gestion des ressources ?

Oui. Le destructeur Presentation libère automatiquement tout l’état interne, ainsi aucune opération de nettoyage explicite n’est nécessaire.

Le round‑tripping d’un PPTX détruira-t-il le contenu inconnu ?

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.

Où puis‑je trouver le code source ?

La bibliothèque est sous licence MIT et hébergée sur GitHub. Les rapports de bugs et les pull requests sont les bienvenus.

  

Ressources de support et d'apprentissage

 Français