Gérer SmartArt dans les présentations PowerPoint avec C++

Obtenir le texte d’un objet SmartArt

La propriété TextFrame a maintenant été ajoutée à l’interface ISmartArtShape et à la classe SmartArtShape respectivement. Cette propriété vous permet d’obtenir tout le texte d’un SmartArt, même si ce n’est pas uniquement le texte des nœuds. Le code d’exemple suivant vous aidera à récupérer le texte d’un nœud SmartArt.

Modifier le type de mise en page d’un objet SmartArt

Afin de modifier le type de mise en page d’un SmartArt, suivez les étapes ci‑dessous :

  • Créez une instance de Presentation class.
  • Obtenez la référence d’une diapositive en utilisant son Index.
  • Ajoutez un SmartArt BasicBlockList.
  • Modifiez LayoutType en BasicProcess.
  • Enregistrez la présentation au format PPTX.
    Dans l’exemple ci‑dessous, nous avons ajouté un connecteur entre deux formes.

Vérifier la propriété Hidden d’un objet SmartArt

Veuillez noter que la méthode com.aspose.slides.ISmartArtNode.isHidden() renvoie true si ce nœud est masqué dans le modèle de données. Pour vérifier la propriété hidden d’un nœud SmartArt, suivez les étapes ci‑dessous :

  • Créez une instance de Presentation class.
  • Ajoutez un SmartArt RadialCycle.
  • Ajoutez un nœud au SmartArt.
  • Vérifiez la propriété isHidden.
  • Enregistrez la présentation au format PPTX.

Dans l’exemple ci‑dessous, nous avons ajouté un connecteur entre deux formes.

Obtenir ou définir le type d’organigramme

Les méthodes com.aspose.slides.ISmartArtNode.getOrganizationChartLayout() et setOrganizationChartLayout(int) permettent d’obtenir ou de définir le type d’organigramme associé au nœud actuel. Pour obtenir ou définir ce type, suivez les étapes ci‑dessous :

  • Créez une instance de Presentation class.
  • Ajoutez un SmartArt à la diapositive.
  • Obtenez ou définissez le type d’organigramme.
  • Enregistrez la présentation au format PPTX.
    Dans l’exemple ci‑dessous, nous avons ajouté un connecteur entre deux formes.

Obtenir ou définir l’état d’un SmartArt

Certains diagrammes SmartArt ne supportent pas l’inversion, par exemple : Vertical bullet list, Vertical Process, Descending Process, Funnel, Gear, Balance, Circle Relationship, Hexagon Cluster, Reverse List, Stacked Venn. Pour changer l’orientation d’un SmartArt, suivez les étapes ci‑dessous :

  • Créez une instance de Presentation class.
  • Ajoutez un SmartArt à la diapositive.
  • Obtenez ou définissez l’état du diagramme SmartArt.
  • Enregistrez la présentation au format PPTX.
    Dans l’exemple ci‑dessous, nous avons ajouté un connecteur entre deux formes.

Créer un organigramme d’image

Aspose.Slides for C++ fournit une API simple pour créer des diagrammes PictureOrganization de façon aisée. Pour créer un diagramme sur une diapositive :

  1. Créez une instance de la classe Presentation.
  2. Obtenez la référence d’une diapositive par son index.
  3. Ajoutez un diagramme avec des données par défaut ainsi que le type souhaité (ChartType.PictureOrganizationChart).
  4. Enregistrez la présentation modifiée au format PPTX.

Le code suivant permet de créer un diagramme.

auto pres = System::MakeObject<Presentation>(u"test.pptx");
auto smartArt = pres->get_Slides()->idx_get(0)->get_Shapes()->AddSmartArt(0.0f, 0.0f, 400.0f, 400.0f, SmartArtLayoutType::PictureOrganizationChart);
pres->Save(u"OrganizationChart.pptx", SaveFormat::Pptx);

FAQ

Le SmartArt prend‑il en charge le miroir/l’inversion pour les langues RTL ?

Oui. La méthode set_IsReversed inverse la direction du diagramme (LTR/RTL) si le type de SmartArt sélectionné prend en charge l’inversion.

Comment copier un SmartArt sur la même diapositive ou dans une autre présentation tout en conservant le formatage ?

Vous pouvez cloner la forme SmartArt via la collection de formes (ShapeCollection::AddClone) ou cloner la diapositive entière contenant cette forme. Les deux approches conservent la taille, la position et le style.

Comment rendre un SmartArt en image raster pour l’aperçu ou l’exportation Web ?

Rendez la diapositive (ou la présentation entière) au format PNG/JPEG grâce à l’API qui convertit les diapositives ou les présentations en images — le SmartArt sera dessiné comme partie de la diapositive.

Comment sélectionner programmatique un SmartArt spécifique sur une diapositive s’il y en a plusieurs ?

Une pratique courante consiste à utiliser le texte alternatif (Alt Text) ou un nom et à rechercher la forme par cet attribut dans les formes de la diapositive, puis à vérifier le type pour confirmer qu’il s’agit bien d’un SmartArt. La documentation décrit les techniques typiques pour trouver et travailler avec les formes.