# Javascript: SubTextPart.save Method

> Saves the subtextpart in a certain format and sends the result back asynchronously by calling a given callback function.

- **Product:** DS Server
- **Section:** Reference
- **Kind:** Method
- **Introduced:** 28.0
- **Path:** DS Server > Reference > JavaScript API > Javascript: SubTextPart.save Method
- **605 words**
- **Web URL:** https://docs.textcontrol.com/ds-server/reference/javascript/subtextpart/save-method/
- **LLMs URL:** https://docs.textcontrol.com/ds-server/reference/javascript/subtextpart/save-method/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/ds-server/reference/javascript/subtextpart/save-method/llms-full.txt

---

### Description

Saves the subtextpart in a certain format and sends the result back asynchronously by calling a given callback function.

### Syntax

```javascript
<void> SubTextPart.save(<StreamType> streamType, <SaveDocumentCallback> callback, [<SaveSettings> saveSettings], [<ErrorCallback> errorCallback])
```

### Parameters

| Parameter | Description |
|---|---|
| streamType | Specifies one of the StreamType values. |
| callback | Receives the subtextpart's data in a certain format including additional information. |
| saveSettings | Optional. Specifies additional settings for saving. |
| errorCallback | Optional. Is called when the operation failed with an error. |

### Examples

The following example demonstrates `SubTextPart.save` in a practical document-editing workflow. It saves the subtextpart in a certain format and sends the result back asynchronously by calling a given callback function.

```javascript
function onTxError(error) {
    console.error("TX Text Control error:", error.msg);
    error.handled = true;
}

TXTextControl.textParts.getMainText(function(mainText) {
    const subTextParts = mainText.subTextParts;
    subTextParts.getItem(function(subTextPart) {
        if (!subTextPart) {
            console.warn("No sub text part is available at the current input position.");
            return;
        }
    
        subTextPart.save(
            TXTextControl.StreamType.HTMLFormat,
            function(result) {
                if (!result) {
                    console.warn("No save document result was returned.");
                    return;
                }
                
                console.log("save result:", result);
            },
            { creatorApplication: "Document Editor sample" },
            onTxError
        );
    }, onTxError);
}, onTxError);
```

---

## Nearby

- **Previous:** [Javascript: SubTextPart.getTextFields Method](https://docs.textcontrol.com/ds-server/reference/javascript/subtextpart/gettextfields-method/llms-full.txt)
- **Next:** [Javascript: SubTextPart.scrollTo Method](https://docs.textcontrol.com/ds-server/reference/javascript/subtextpart/scrollto-method/llms-full.txt)
