Crear diagrama de flujo en Python | API del creador de diagramas de flujo de Python

Un diagrama de flujo es una ilustración visual de un proceso. Utiliza un conjunto de símbolos, por ejemplo, cuadros, diamantes y flechas, para demostrar los pasos involucrados y las decisiones que deben tomarse en cada etapa.

Este artículo cubre los siguientes temas:

API del creador de diagramas de flujo de Python

Aspose.Diagram for Python es una biblioteca que permite a los programadores crear, editar y manipular archivos Visio directamente dentro de sus aplicaciones Python. Proporciona un conjunto de API para trabajar con archivos Visio. Lo usaremos para crear un diagrama de flujo mediante programación en Python.

Por favor descargue el paquete o instale la API desde PyPI usando el siguiente comando pip en la consola:

pip install aspose-diagram-python 

Crear diagrama de flujo mediante programación en Python

Podemos hacer fácilmente un diagrama de flujo en Python siguiendo los pasos a continuación:

  1. Cree el esquema para el diagrama.
  2. Cargue el maestro para agregar formas usando la clase Diagrama.
  3. Crea formas usando la clase Shape.
  4. Agregue formas al diagrama usando el método addshape().
  5. Agregue conectores de formas usando el método connectshapesviaconnector().
  6. Configure el diseño del diagrama usando la clase LayoutOptions.
  7. Después de eso, especifique las opciones de guardado usando la clase DiagramSaveOptions.
  8. Finalmente, guarde el archivo de salida en formato VSDX usando el método save().

El siguiente ejemplo de código muestra cómo crear un diagrama de flujo en Python.

# Este ejemplo de código demuestra cómo crear un diagrama de flujo en Python.
import aspose.diagram
from aspose.diagram import *

def createFlowChart():
    # esquema para el diagrama que se va a crear
    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 = {}

    # Agregar formas y conectores desde el esquema
   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()
Cree un diagrama de flujo mediante programación en Python.

Obtenga una licencia API gratuita

Puede obtener una licencia temporal gratuita para utilizar la API sin limitaciones de evaluación.

Programación de diagramas de flujo en Python: recursos gratuitos

Puede obtener más información sobre la programación de diagramas de flujo en Python y explorar otras características de la biblioteca utilizando los recursos a continuación:

Conclusión

En este artículo, ha aprendido cómo crear un diagrama de flujo mediante programación en Python. Al aprovechar Aspose.Diagram for Python, puede crear varios tipos de diagramas de flujo usando diferentes tipos de formas, como la decisión o el proceso, así como diferentes diseños, como de izquierda a derecha o de derecha a izquierda, etc. En caso de cualquier ambigüedad, contáctenos en nuestro foro de soporte gratuito.

Ver también