العمل مع الموصلات — Aspose.Slides FOSS for Python
الموصلات هي أشكال تربط بصريًا شكلين آخرين بخط. Aspose.Slides FOSS لـ Python يدعم موصلات منحنية، مستقيمة، ومنحنية. نقاط الاتصال على الشكل يتم تحديدها بأعداد صحيحة فهارس مواقع الاتصال.
فهارس مواقع الاتصال
كل شكل يُظهر أربعة مواقع اتصال قياسية:
| المؤشر | الجانب |
|---|---|
0 | الأعلى |
1 | اليسار |
2 | الأسفل |
3 | اليمين |
إضافة موصل منحنٍ بين شكلين
from aspose.slides_foss import ShapeType
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
slide = prs.slides[0]
# Create two shapes to connect
box1 = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 150, 150, 60)
box1.add_text_frame("Start")
box2 = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 400, 150, 150, 60)
box2.add_text_frame("End")
# Add a bent connector (position/size are ignored once connected)
conn = slide.shapes.add_connector(ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10)
# Connect right side of box1 → left side of box2
conn.start_shape_connected_to = box1
conn.start_shape_connection_site_index = 3 # right
conn.end_shape_connected_to = box2
conn.end_shape_connection_site_index = 1 # left
prs.save("connector.pptx", SaveFormat.PPTX)أنواع أشكال الموصل
| ShapeType | الوصف |
|---|---|
ShapeType.BENT_CONNECTOR3 | انحناءان بزاوية 90° (الأكثر شيوعًا لمخططات الأسلوب الانسيابي) |
ShapeType.BENT_CONNECTOR2 | انحناء واحد بزاوية 90° |
ShapeType.BENT_CONNECTOR4 | ثلاثة انحناءات بزاوية 90° |
ShapeType.STRAIGHT_CONNECTOR1 | خط مستقيم مباشر |
ShapeType.CURVED_CONNECTOR2 | منحنى أملس واحد |
ShapeType.CURVED_CONNECTOR3 | منحنى مزدوج الانحناء |
اتصال من الأعلى إلى الأسفل
from aspose.slides_foss import ShapeType
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
slide = prs.slides[0]
top = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 250, 80, 200, 60)
top.add_text_frame("Decision")
bottom = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 250, 300, 200, 60)
bottom.add_text_frame("Action")
conn = slide.shapes.add_connector(ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10)
conn.start_shape_connected_to = top
conn.start_shape_connection_site_index = 2 # bottom of top box
conn.end_shape_connected_to = bottom
conn.end_shape_connection_site_index = 0 # top of bottom box
prs.save("vertical-connector.pptx", SaveFormat.PPTX)مخطط تدفق مع موصلات متعددة
from aspose.slides_foss import ShapeType
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
def add_box(slide, text, x, y, w=160, h=50):
s = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, x, y, w, h)
s.add_text_frame(text)
return s
def connect(slide, s1, site1, s2, site2):
conn = slide.shapes.add_connector(ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10)
conn.start_shape_connected_to = s1
conn.start_shape_connection_site_index = site1
conn.end_shape_connected_to = s2
conn.end_shape_connection_site_index = site2
return conn
with slides.Presentation() as prs:
slide = prs.slides[0]
start = add_box(slide, "Start", 260, 60)
process = add_box(slide, "Process Data", 260, 180)
end = add_box(slide, "End", 260, 300)
connect(slide, start, 2, process, 0) # start → process (bottom to top)
connect(slide, process, 2, end, 0) # process → end (bottom to top)
prs.save("flowchart.pptx", SaveFormat.PPTX)تنسيق موصل
الموصلات تدعم نفس line_format الخصائص كما الأشكال الأخرى:
from aspose.slides_foss import ShapeType, LineDashStyle
from aspose.slides_foss.drawing import Color
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
slide = prs.slides[0]
box1 = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 150, 150, 60)
box2 = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 400, 150, 150, 60)
conn = slide.shapes.add_connector(ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10)
conn.start_shape_connected_to = box1
conn.start_shape_connection_site_index = 3
conn.end_shape_connected_to = box2
conn.end_shape_connection_site_index = 1
# Style the connector line
conn.line_format.width = 2.5
conn.line_format.dash_style = LineDashStyle.DASH
conn.line_format.fill_format.solid_fill_color.color = Color.dark_blue
prs.save("styled-connector.pptx", SaveFormat.PPTX)