Arbeta med anslutningar — Aspose.Slides FOSS för Python
Kopplingar är former som visuellt länkar två andra former med en linje. Aspose.Slides FOSS för Python stöder böjda, raka och kurviga kopplingar. Anslutningspunkterna på en form identifieras med heltal anslutningsplatsindex.
Anslutningsplatsindex
Varje form har fyra standardanslutningsplatser:
| Index | Sida |
|---|---|
0 | Toppen |
1 | Vänster |
2 | Botten |
3 | Höger |
Lägga till en böjd anslutning mellan två former
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)Typer av anslutningsformer
| ShapeType | Beskrivning |
|---|---|
ShapeType.BENT_CONNECTOR3 | Två 90° böjar (vanligast för flödesschema‑liknande diagram) |
ShapeType.BENT_CONNECTOR2 | En 90° böj |
ShapeType.BENT_CONNECTOR4 | Tre 90° böjar |
ShapeType.STRAIGHT_CONNECTOR1 | Direkt rak linje |
ShapeType.CURVED_CONNECTOR2 | Enkel jämn kurva |
ShapeType.CURVED_CONNECTOR3 | Dubbelböjd kurva |
Uppifrån-ner-anslutning
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)Flödesschema med flera anslutningar
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)Formatera en koppling
Kopplingar stöder samma line_format egenskaper som andra former:
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)