Создать блок-схему на Python | API конструктора блок-схем Python

Блок-схема — это наглядная иллюстрация процесса. Он использует набор символов, например прямоугольники, ромбы и стрелки, чтобы продемонстрировать необходимые шаги и решения, которые необходимо принять на каждом этапе.

В этой статье рассматриваются следующие темы:

API конструктора блок-схем Python

Aspose.Diagram for Python — это библиотека, которая позволяет программистам создавать, редактировать и манипулировать файлами Visio непосредственно в своих приложениях Python. Он предоставляет набор API для работы с файлами Visio. Мы будем использовать его для программного создания блок-схемы на Python.

Пожалуйста, загрузите пакет или установите API из PyPI, используя следующую команду pip в консоли:

pip install aspose-diagram-python 

Программное создание блок-схемы на Python

Мы можем легко создать блок-схему на Python, выполнив следующие шаги:

  1. Создайте схему для диаграммы.
  2. Загрузите мастер для добавления фигур с помощью класса Diagram.
  3. Создавайте фигуры, используя класс Shape.
  4. Добавьте фигуры на диаграмму с помощью метода addshape().
  5. Добавьте соединители фигур, используя метод ConnectShapesviaconnector().
  6. Задайте макет диаграммы с помощью класса LayoutOptions.
  7. После этого укажите параметры сохранения с помощью класса DiagramSaveOptions.
  8. Наконец, сохраните выходной файл в формате VSDX, используя метод save().

В следующем примере кода показано, как создать блок-схему в Python.

# В этом примере кода показано, как создать блок-схему в Python.
import aspose.diagram
from aspose.diagram import *

def createFlowChart():
    # схема для диаграммы, которая будет создана
    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 = {}

    # Добавление фигур и соединителей из схемы
   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()
Создайте блок-схему программно на Python.

Получите бесплатную лицензию API

Вы можете получить бесплатную временную лицензию, чтобы использовать API без ограничений ознакомительной версии.

Блок-схема программирования на Python — бесплатные ресурсы

Вы можете узнать больше о программировании на Python с блок-схемами и изучить различные другие функции библиотеки, используя ресурсы ниже:

Заключение

В этой статье вы узнали, как программно создать блок-схему на Python. Используя Aspose.Diagram for Python, вы можете создавать различные типы блок-схем, используя разные типы фигур, например решение или процесс, а также разные макеты, например слева направо или справа налево и т. д. В случае какой-либо двусмысленности, пожалуйста, свяжитесь с нами на нашем форуме бесплатной поддержки.

Смотрите также