Εργασία με συνδέσμους Aspose.Slides FOSS για 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)