Créer un organigramme en Python

Ce tutoriel explique comment créer un organigramme en Python. Il présente l’algorithme étape par étape ainsi qu’un exemple de code fonctionnel pour générer un créateur d’organigrammes en Python. De plus, vous pouvez personnaliser la création de l’organigramme en modifiant les types de formes, les connexions, le schéma, etc., selon vos besoins.

Étapes pour créer un organigramme en Python

  1. Configurez l’environnement système en téléchargeant Aspose.Diagram pour créer des organigrammes.
  2. Définissez un schéma de l’organigramme requis.
  3. Créez une instance de la classe Diagram et insérez différentes formes depuis le modèle principal.
  4. Définissez la disposition cible et enregistrez l’organigramme avec la méthode save.

Ces étapes décrivent le processus de création d’un générateur d’organigrammes en Python. La première étape consiste à définir un schéma pour établir les paramètres requis. Ensuite, insérez différentes formes à l’aide du modèle principal avant d’exporter l’organigramme généré.

Code pour créer un générateur d’organigrammes en Python

import aspose.diagram
from aspose.diagram import *
path = "C://"
import aspose.diagram
from aspose.diagram import *
def createFlowChart():
# schema for the diagram to be created
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(path + "BasicShapes.vss")
page = diagram.pages[0]
shape_names = {}
# Adding shapes and connectors from the schema
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(path + "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()

L’exemple de code ci-dessus est une démonstration rapide de dessin d’un organigramme en Python. Il utilise principalement la classe Diagram pour charger différentes formes, définir la disposition de l’organigramme et générer le résultat final. De plus, vous pouvez modifier la disposition selon différentes orientations, comme de gauche à droite, de droite à gauche, de haut en bas, etc., afin d’améliorer la conception en fonction de vos besoins.

Cet article couvre les informations nécessaires pour concevoir un constructeur d’organigrammes en Python. Cependant, si vous souhaitez créer un organigramme hiérarchique (ORG chart), consultez l’article Créer un organigramme hiérarchique en Python.

 Français