---
title: "WordEditor"
canonical_url: "https://www.nutrient.io/api/python/editors/word-editor/"
md_url: "https://www.nutrient.io/api/python/editors/word-editor.md"
last_updated: "2026-06-09T10:32:42.528Z"
description: "Provides specialized editing capabilities for Word documents. Supports template-based document generation and manipulation of OpenXML Word documents."
---

Provides specialized editing capabilities for Word documents. Supports template-based document generation and manipulation of OpenXML Word documents.

```python

from nutrient_sdk import WordEditor

```

## Construction

`WordEditor` cannot be instantiated directly. Obtain instances through static factory methods or via other SDK classes.

## Class Methods

### edit

```python

@classmethod
def edit(cls, document: Document) -> WordEditor

```

Creates a new WordEditor instance and begins editing the specified document.

**Parameters:**

| Name       | Type                                | Description           |
| ---------- | ----------------------------------- | --------------------- |
| `document` | [`Document`](/api/python/document/) | The document to edit. |

**Returns:** [`WordEditor`](/api/python/editors/word-editor/) - A new WordEditor instance for editing the document.

---

## Methods

### apply_template_model

```python

def apply_template_model(self, json_template: str) -> None

```

Applies a template model to the Word document from a JSON string.

**Parameters:**

| Name            | Type  | Description                                         |
| --------------- | ----- | --------------------------------------------------- |
| `json_template` | `str` | The JSON string containing the template model data. |

---

### close

```python

def close(self) -> None

```

Closes the editor and releases all associated resources.

---

### save

```python

def save(self) -> None

```

Saves the current changes made in the editor.

---

### save_as

```python

def save_as(self, path: str) -> None

```

Saves the current changes to a file at the specified path.

**Parameters:**

| Name   | Type  | Description                                     |
| ------ | ----- | ----------------------------------------------- |
| `path` | `str` | The file path where the document will be saved. |

---

### save_with_model_as

```python

def save_with_model_as(self, path: str) -> None

```

Saves the Word document with the applied template model to a file.

**Parameters:**

| Name   | Type  | Description                                               |
| ------ | ----- | --------------------------------------------------------- |
| `path` | `str` | The file path where the processed document will be saved. |

---

## Context manager

`WordEditor` supports the context manager protocol. Use `with` to ensure native resources are released automatically:

```python

with WordEditor.edit(...) as word_editor:
    #... use word_editor...

    pass  # closed automatically on exit

```

Or close explicitly:

```python

word_editor = WordEditor.edit(...)
try:
    #... use word_editor...

    pass
finally:
    word_editor.close()

```

---

## Related pages

- [All public classes import directly from the top-level package:](/api/python/editors.md)
- [Pdf Editor](/api/python/editors/pdf-editor.md)

