Crea diagramma di flusso in Python | API per la creazione di diagrammi di flusso Python

Un diagramma di flusso è un’illustrazione visiva di un processo. Utilizza una serie di simboli, ad esempio caselle, diamanti e frecce, per dimostrare i passaggi coinvolti e le decisioni che devono essere prese in ciascuna fase.

Questo articolo tratta i seguenti argomenti:

API per la creazione di diagrammi di flusso Python

Aspose.Diagram for Python è una libreria che consente ai programmatori di creare, modificare e manipolare file Visio direttamente all’interno delle loro applicazioni Python. Fornisce una serie di API per lavorare con file Visio. Lo useremo per creare un diagramma di flusso a livello di codice in Python.

Per favore scarica il pacchetto o installa l’API da PyPI utilizzando il seguente comando pip nella console:

pip install aspose-diagram-python 

Crea un diagramma di flusso a livello di codice in Python

Possiamo facilmente creare un diagramma di flusso in Python seguendo i passaggi seguenti:

  1. Creare lo schema per il diagramma.
  2. Carica il master per aggiungere forme utilizzando la classe Diagram.
  3. Crea forme utilizzando la classe Shape.
  4. Aggiungi forme al diagramma utilizzando il metodo addshape().
  5. Aggiungi connettori di forma utilizzando il metodo connectshapesviaconnector().
  6. Imposta il layout del diagramma utilizzando la classe LayoutOptions.
  7. Successivamente, specifica le opzioni di salvataggio utilizzando la classe DiagramSaveOptions.
  8. Infine, salva il file di output in formato VSDX utilizzando il metodo save().

L’esempio di codice seguente mostra come creare un diagramma di flusso in Python.

# Questo esempio di codice dimostra come creare un diagramma di flusso in Python.
import aspose.diagram
from aspose.diagram import *

def createFlowChart():
    # schema per il diagramma da creare
    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 = {}

    # Aggiunta di forme e connettori dallo 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("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()
Crea un diagramma di flusso a livello di codice in Python.

Ottieni la licenza API gratuita

Puoi ottenere una licenza temporanea gratuita per utilizzare l’API senza limitazioni di valutazione.

Programmazione Python con diagramma di flusso – Risorse gratuite

Puoi saperne di più sulla programmazione Python dei diagrammi di flusso ed esplorare varie altre funzionalità della libreria utilizzando le risorse seguenti:

Conclusione

In questo articolo hai imparato come creare un diagramma di flusso a livello di codice in Python. Sfruttando Aspose.Diagram for Python, puoi creare vari tipi di diagrammi di flusso utilizzando diversi tipi di forme, come la decisione o il processo, nonché diversi layout, come da sinistra a destra o da destra a sinistra, ecc. In caso di ambiguità, contattaci sul nostro forum di supporto gratuito.

Guarda anche