إنشاء مخطط انسيابي في بايثون | واجهة برمجة تطبيقات صانع المخططات الانسيابية بيثون

المخطط الانسيابي هو رسم توضيحي مرئي للعملية. ويستخدم مجموعة من الرموز، على سبيل المثال، الصناديق والماس والأسهم، لتوضيح الخطوات المتضمنة والقرارات التي يجب اتخاذها في كل مرحلة.

تتناول هذه المقالة المواضيع التالية:

واجهة برمجة تطبيقات صانع المخططات الانسيابية بيثون

Aspose.Diagram for Python هي مكتبة تمكّن المبرمجين من إنشاء ملفات Visio وتحريرها ومعالجتها مباشرة داخل تطبيقات Python الخاصة بهم. يوفر مجموعة من واجهات برمجة التطبيقات للعمل مع ملفات Visio. سوف نستخدمه لإنشاء مخطط انسيابي برمجياً في بايثون.

يرجى تنزيل الحزمة أو تثبيت واجهة برمجة التطبيقات من PyPI باستخدام أمر النقطة التالي في وحدة التحكم:

pip install aspose-diagram-python 

إنشاء مخطط انسيابي برمجياً في بايثون

يمكننا بسهولة إنشاء مخطط انسيابي في بايثون باتباع الخطوات التالية:

  1. قم بإنشاء المخطط للرسم التخطيطي.
  2. قم بتحميل الملف الرئيسي لإضافة الأشكال باستخدام فئة الرسم التخطيطي.
  3. إنشاء الأشكال باستخدام فئة الشكل.
  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()
إنشاء مخطط انسيابي برمجياً في بايثون.

احصل على ترخيص API مجاني

يمكنك الحصول على ترخيص مؤقت مجاني لاستخدام واجهة برمجة التطبيقات (API) دون قيود التقييم.

برمجة بايثون للمخطط الانسيابي – موارد مجانية

يمكنك معرفة المزيد حول برمجة Python للمخطط الانسيابي واستكشاف العديد من الميزات الأخرى للمكتبة باستخدام الموارد أدناه:

خاتمة

لقد تعلمت في هذه المقالة كيفية إنشاء مخطط انسيابي برمجيًا في بايثون. من خلال الاستفادة من Aspose.Diagram for Python، يمكنك إنشاء أنواع مختلفة من المخططات الانسيابية باستخدام أنواع مختلفة من الأشكال، مثل القرار أو العملية، بالإضافة إلى تخطيطات مختلفة، مثل من اليسار إلى اليمين أو من اليمين إلى اليسار، وما إلى ذلك. في حالة وجود أي غموض، يرجى الاتصال بنا على منتدى الدعم المجاني.

أنظر أيضا