---
title: "PresentationEditor"
canonical_url: "https://www.nutrient.io/api/python/editors/presentation-editor/"
md_url: "https://www.nutrient.io/api/python/editors/presentation-editor.md"
last_updated: "2026-09-02T11:19:46.684Z"
description: "Provides specialized editing capabilities for presentation documents. Supports template-based document generation and manipulation of OpenXML PowerPoint docume…"
---

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

```python

from nutrient_sdk import PresentationEditor

```

## Construction

`PresentationEditor` 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) -> PresentationEditor

```

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

**Parameters:**

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

**Returns:** [`PresentationEditor`](/api/python/editors/presentation-editor/) - A new PresentationEditor 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 presentation 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 presentation 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

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

```python

with PresentationEditor.edit(...) as presentation_editor:
    #... use presentation_editor...

    pass  # closed automatically on exit

```

Or close explicitly:

```python

presentation_editor = PresentationEditor.edit(...)
try:
    #... use presentation_editor...

    pass
finally:
    presentation_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)
- [Spreadsheet Editor](/api/python/editors/spreadsheet-editor.md)
- [Word Editor](/api/python/editors/word-editor.md)

