Créer un organigramme en Python | API de création d'organigrammes Python

Un organigramme est une illustration visuelle d’un processus. Il utilise un ensemble de symboles, par exemple des cases, des losanges et des flèches, pour démontrer les étapes à suivre et les décisions qui doivent être prises à chaque étape.

Cet article couvre les sujets suivants :

API de création d’organigrammes Python

Aspose.Diagram for Python est une bibliothèque qui permet aux programmeurs de créer, modifier et manipuler des fichiers Visio directement dans leurs applications Python. Il fournit un ensemble d’API pour travailler avec des fichiers Visio. Nous l’utiliserons pour créer un organigramme par programme en Python.

Veuillez télécharger le package ou installer l’API depuis PyPI à l’aide de la commande pip suivante dans la console :

pip install aspose-diagram-python 

Créer un organigramme par programme en Python

Nous pouvons facilement créer un organigramme en Python en suivant les étapes ci-dessous :

  1. Créez le schéma du diagramme.
  2. Chargez le maître pour ajouter des formes à l’aide de la classe Diagram.
  3. Créez des formes à l’aide de la classe Shape.
  4. Ajoutez des formes au diagramme à l’aide de la méthode addshape().
  5. Ajoutez des connecteurs de forme à l’aide de la méthode connectshapesviaconnector().
  6. Définissez la disposition du diagramme à l’aide de la classe LayoutOptions.
  7. Après cela, spécifiez les options de sauvegarde à l’aide de la classe DiagramSaveOptions.
  8. Enfin, enregistrez le fichier de sortie au format VSDX à l’aide de la méthode save().

L’exemple de code suivant montre comment créer un diagramme de flux en Python.

# Cet exemple de code montre comment créer un organigramme en Python.
import aspose.diagram
from aspose.diagram import *

def createFlowChart():
    # schéma du diagramme à créer
    diagram_object = Input(
        input_rectangles=[
            InputRectangle("A", "Manager"),
            InputRectangle("B", "Team Leader"),
            InputRectangle("C", "Team Member"),
            InputRectangle("D", "Team Member"),
            InputRectangle("E", "Team Member")
        ],
        input_connectors=[
            InputConnector("A", "B"),
            InputConnector("B", "C"),
            InputConnector("B", "D"),
            InputConnector("B", "E")
        ]
    )

    diagram = Diagram("D:\\Files\\BasicShapes.vss")
    page = diagram.pages[0]

    shape_names = {}

    # Ajout de formes et de connecteurs à partir du schéma
   for rectangle in diagram_object.InputRectangles:
        shape = Shape()
        shape_id = diagram.add_shape(shape, "Rectangle", 0)
        shape_names[rectangle.Name] = shape_id
        shape = page.shapes.get_shape(shape_id)
        shape.text.value.add(Txt(rectangle.Text))

   for connector in diagram_object.InputConnectors:
        connector_id = diagram.add_shape(Shape(), "Dynamic connector", 0)
        page.connect_shapes_via_connector(
            shape_names[connector.OriginShapeName],
            aspose.diagram.manipulation.ConnectionPointPlace.RIGHT,
            shape_names[connector.DestinationShapeName],
            aspose.diagram.manipulation.ConnectionPointPlace.LEFT,
            connector_id
        )

    layout_options = aspose.diagram.autolayout.LayoutOptions()
    layout_options.layout_style = aspose.diagram.autolayout.LayoutStyle.FLOW_CHART
    layout_options.direction = aspose.diagram.autolayout.LayoutDirection.LEFT_TO_RIGHT
    layout_options.space_shapes = 5.0
    layout_options.enlarge_page = True
    

    diagram.layout(layout_options)

    page.page_sheet.print_props.print_page_orientation.value = PrintPageOrientationValue.LANDSCAPE

    save_options = aspose.diagram.saving.DiagramSaveOptions()
    save_options.save_format = SaveFileFormat.VSDX
    save_options.auto_fit_page_to_drawing_content = True

    diagram.save("D:\\Files\\flowchart_output.vsdx", save_options)
        
class Input:
    def __init__(self, input_rectangles=None, input_connectors=None):
        self.InputRectangles = input_rectangles if input_rectangles else []
        self.InputConnectors = input_connectors if input_connectors else []

class InputRectangle:
    def __init__(self, name, text):
        self.Name = name
        self.Text = text

class InputConnector:
    def __init__(self, origin_shape_name, destination_shape_name):
        self.OriginShapeName = origin_shape_name
        self.DestinationShapeName = destination_shape_name
        
createFlowChart()
Créez un organigramme par programme en Python.

Obtenez une licence API gratuite

Vous pouvez obtenir une licence temporaire gratuite afin d’utiliser l’API sans limitations d’évaluation.

Programmation Python par organigramme - Ressources gratuites

Vous pouvez en savoir plus sur la programmation Python par organigramme et explorer diverses autres fonctionnalités de la bibliothèque à l’aide des ressources ci-dessous :

Conclusion

Dans cet article, vous avez appris à créer un organigramme par programmation en Python. En tirant parti d’Aspose.Diagram for Python, vous pouvez créer différents types d’organigrammes en utilisant différents types de formes, comme la décision ou le processus, ainsi que différentes dispositions, comme de gauche à droite ou de droite à gauche, etc. veuillez nous contacter sur notre forum d’assistance gratuit.

Voir également