Làm việc với các Đầu nối — Aspose.Slides FOSS cho Python
Connectors là các hình dạng liên kết trực quan hai hình dạng khác bằng một đường. Aspose.Slides FOSS cho Python hỗ trợ các kết nối cong, thẳng và uốn. Các điểm kết nối trên một hình dạng được xác định bằng số nguyên chỉ mục vị trí kết nối.
Connection Site Indexes => «<SEG_4»> Chỉ mục Vị trí Kết nối
Each shape exposes four standard connection sites: => «<SEG_5»> Mỗi hình dạng cung cấp bốn vị trí kết nối tiêu chuẩn:
| Chỉ mục | Bên |
|---|---|
0 | Trên |
1 | Trái |
2 | Dưới |
3 | Phải |
Adding a Bent Connector Between Two Shapes => «<SEG_6»> Thêm một Đầu nối Gập giữa Hai Hình dạng
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)Connector Shape Types => «<SEG_7»> Các Loại Hình Đầu Nối
| ShapeType | Mô tả |
|---|---|
ShapeType.BENT_CONNECTOR3 | Hai góc 90° (phổ biến nhất cho các sơ đồ kiểu lưu đồ) |
ShapeType.BENT_CONNECTOR2 | Một góc 90° |
ShapeType.BENT_CONNECTOR4 | Ba góc 90° |
ShapeType.STRAIGHT_CONNECTOR1 | Đường thẳng trực tiếp |
ShapeType.CURVED_CONNECTOR2 | Đường cong mượt đơn |
ShapeType.CURVED_CONNECTOR3 | Đường cong gấp đôi |
Top-to-Bottom Connection => «<SEG_8»> Kết nối Từ Trên Xuống Dưới
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)Flowchart with Multiple Connectors => «<SEG_9»> Lưu đồ với Nhiều Đầu nối
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)Định dạng một đầu nối
Các kết nối hỗ trợ cùng line_format các thuộc tính như các hình dạng khác:
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)