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

Βλέπε επίσης:

 Ελληνικά