Bekerja dengan Penghubung — Aspose.Slides FOSS untuk Python

Konektor adalah bentuk yang secara visual menghubungkan dua bentuk lain dengan sebuah garis. Aspose.Slides FOSS untuk Python mendukung konektor bengkok, lurus, dan melengkung. Titik sambungan pada sebuah bentuk diidentifikasi oleh integer indeks situs koneksi.


Indeks Situs Koneksi

Setiap bentuk menyediakan empat situs koneksi standar:

IndeksSisi
0Atas
1Kiri
2Bawah
3Kanan

Menambahkan Penghubung Bengkok Antara Dua Bentuk

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)

Jenis Bentuk Penghubung

ShapeTypeDeskripsi
ShapeType.BENT_CONNECTOR3Dua tikungan 90° (paling umum untuk diagram bergaya flowchart)
ShapeType.BENT_CONNECTOR2Satu tikungan 90°
ShapeType.BENT_CONNECTOR4Tiga tikungan 90°
ShapeType.STRAIGHT_CONNECTOR1Garis lurus langsung
ShapeType.CURVED_CONNECTOR2Kurva halus tunggal
ShapeType.CURVED_CONNECTOR3Kurva dengan dua tikungan

Koneksi Atas-ke-Bawah

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)

Diagram Alir dengan Beberapa Penghubung

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)

Memformat Penghubung

Konektor mendukung hal yang sama line_format properti seperti bentuk lain:

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)

Lihat Juga

 Bahasa Indonesia