커넥터 작업 — Aspose.Slides FOSS for Python
커넥터는 두 개의 다른 도형을 선으로 시각적으로 연결하는 도형입니다. Aspose.Slides FOSS for 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)