Criar fluxograma em Python | API do criador de fluxograma Python

Um fluxograma é uma ilustração visual de um processo. Ele utiliza um conjunto de símbolos, por exemplo, caixas, losangos e setas, para demonstrar os passos envolvidos e as decisões que precisam ser tomadas em cada estágio.

Este artigo cobre os seguintes tópicos:

API do criador de fluxograma Python

Aspose.Diagram for Python é uma biblioteca que permite aos programadores criar, editar e manipular arquivos Visio diretamente em seus aplicativos Python. Ele fornece um conjunto de APIs para trabalhar com arquivos do Visio. Iremos usá-lo para criar um fluxograma programaticamente em Python.

Por favor, baixe o pacote ou instale a API do PyPI usando o seguinte comando pip no console:

pip install aspose-diagram-python 

Crie fluxograma programaticamente em Python

Podemos facilmente fazer um fluxograma em Python seguindo as etapas abaixo:

  1. Crie o esquema para o diagrama.
  2. Carregue o mestre para adicionar formas usando a classe Diagram.
  3. Crie formas usando a classe Shape.
  4. Adicione formas ao diagrama usando o método addshape().
  5. Adicione conectores de forma usando o método connectshapesviaconnector().
  6. Defina o layout do diagrama usando a classe LayoutOptions.
  7. Depois disso, especifique as opções de salvamento usando a classe DiagramSaveOptions.
  8. Por fim, salve o arquivo de saída no formato VSDX usando o método save().

O exemplo de código a seguir mostra como criar um diagrama de fluxograma em Python.

# Este exemplo de código demonstra como criar um fluxograma em Python.
import aspose.diagram
from aspose.diagram import *

def createFlowChart():
    # esquema para o diagrama a ser criado
    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 = {}

    # Adicionando formas e conectores do 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()
Crie fluxograma programaticamente em Python.

Obtenha licença API gratuita

Você pode obter uma licença temporária gratuita para usar a API sem limitações de avaliação.

Fluxograma de programação Python – recursos gratuitos

Você pode aprender mais sobre fluxograma de programação Python e explorar vários outros recursos da biblioteca usando os recursos abaixo:

Conclusão

Neste artigo, você aprendeu como criar um fluxograma programaticamente em Python. Ao aproveitar o Aspose.Diagram for Python, você pode criar vários tipos de fluxogramas usando diferentes tipos de formas, como decisão ou processo, bem como diferentes layouts, como da esquerda para a direita ou da direita para a esquerda, etc. entre em contato conosco em nosso fórum de suporte gratuito.

Veja também