Darbas su jungtukais — Aspose.Slides FOSS for Python

Jungtys yra formos, kurios vizualiai sujungia dvi kitas formas linija. Aspose.Slides FOSS for Python palaiko lenktas, tiesias ir kreivines jungtis. Jungimo taškai ant formos identifikuojami integer jungimo vietų indeksai.


Jungties vietų indeksai

Kiekviena forma pateikia keturias standartines jungties vietas:

IndeksasŠonė
0Viršus
1Kairė
2Apačia
3Dešinė

Lenkto jungtuko pridėjimas tarp dviejų formų

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)

Jungtuko formų tipai

ShapeTypeAprašymas
ShapeType.BENT_CONNECTOR3Du 90° posūkiai (dažniausiai naudojami srauto diagramos stiliaus diagramoms)
ShapeType.BENT_CONNECTOR2Vienas 90° posūkis
ShapeType.BENT_CONNECTOR4Trys 90° posūkiai
ShapeType.STRAIGHT_CONNECTOR1Tiesioginė tiesi linija
ShapeType.CURVED_CONNECTOR2Viena glotni kreivė
ShapeType.CURVED_CONNECTOR3Dvigubo posūkio kreivė

Viršaus-žemyn jungtis

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)

Srauto diagrama su keliais jungtukais

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)

Jungtuko formatavimas

Jungtys palaiko tą patį line_format savybės kaip ir kitos formos:

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)

Taip pat žiūrėkite

 Lietuvių