# Connector

> Learn how to add, route, and style connectors between shapes using Aspose.Slides for Node.js, with JavaScript examples for PPT, PPTX, and ODP presentations.

Source: https://docs.aspose.com/slides/nodejs-java/examples/elements/connector/
Updated: 2026-08-05


This article demonstrates how to connect shapes with connectors and change their targets using **Aspose.Slides for Node.js via Java**.

## **Add a Connector**

Insert a connector shape between two points on the slide.

```js
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");

function addConnector() {
    let presentation = new aspose.slides.Presentation();
    try {
        let slide = presentation.getSlides().get_Item(0);

        let connector = slide.getShapes().addConnector(aspose.slides.ShapeType.BentConnector2, 0, 0, 100, 100);

        presentation.save("connector.pptx", aspose.slides.SaveFormat.Pptx);
    } finally {
        presentation.dispose();
    }
}
```

## **Access a Connector**

Retrieve the first connector shape added to a slide.

```js
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");
const java = require("java");

function accessConnector() {
    let presentation = new aspose.slides.Presentation("connector.pptx");
    try {
        let slide = presentation.getSlides().get_Item(0);

        // Access the first connector on the slide.
        let connector = null;
        for (let i = 0; i < slide.getShapes().size(); i++) {
            let shape = slide.getShapes().get_Item(i);
            if (java.instanceOf(shape, "com.aspose.slides.IConnector")) {
                connector = shape;
                break;
            }
        }
    } finally {
        presentation.dispose();
    }
}
```

## **Remove a Connector**

Delete a connector from the slide.

```js
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");

function removeConnector() {
    let presentation = new aspose.slides.Presentation("connector.pptx");
    try {
        let slide = presentation.getSlides().get_Item(0);

        // Assume the first shape is a connector and remove it.
        slide.getShapes().removeAt(0);

        presentation.save("connector_removed.pptx", aspose.slides.SaveFormat.Pptx);
    } finally {
        presentation.dispose();
    }
}
```

## **Reconnect Shapes**

Attach a connector to two shapes by assigning start and end targets.

```js
var aspose = aspose || {};
aspose.slides = require("aspose.slides.via.java");

function reconnectShapes() {
    let presentation = new aspose.slides.Presentation();
    try {
        let slide = presentation.getSlides().get_Item(0);

        let shape1 = slide.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 0, 0, 50, 50);
        let shape2 = slide.getShapes().addAutoShape(aspose.slides.ShapeType.Rectangle, 100, 100, 50, 50);

        let connector = slide.getShapes().addConnector(aspose.slides.ShapeType.BentConnector2, 0, 0, 100, 100);

        connector.setStartShapeConnectedTo(shape1);
        connector.setEndShapeConnectedTo(shape2);
    } finally {
        presentation.dispose();
    }
}
```



## Related articles

- [Shape Types in Aspose.Slides for Node.js via Java](https://docs.aspose.com/slides/nodejs-java/shape-types/)
- [Manage Connectors in Presentations Using JavaScript](https://docs.aspose.com/slides/nodejs-java/connector/)