Provides specialized editing capabilities for Word documents. Supports template-based document generation and manipulation of OpenXML Word documents.
from nutrient_sdk import WordEditorConstruction
WordEditor cannot be instantiated directly. Obtain instances through static factory methods or via other SDK classes.
Class Methods
edit
@classmethoddef edit(cls, document: Document) -> WordEditorCreates a new WordEditor instance and begins editing the specified document.
Parameters:
| Name | Type | Description |
|---|---|---|
document | Document | The document to edit. |
Returns: WordEditor - A new WordEditor instance for editing the document.
Methods
apply_template_model
def apply_template_model(self, json_template: str) -> NoneApplies 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
def close(self) -> NoneCloses the current document’s editing context without disposing the editor. The editor remains available for another editing operation.
save
def save(self) -> NoneSaves the current changes made in the editor.
save_as
def save_as(self, path: str) -> NoneSaves 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
def save_with_model_as(self, path: str) -> NoneSaves 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:
with WordEditor.edit(...) as word_editor: # ... use word_editor ... pass # released automatically on exitOr manage it explicitly. Closing the document and releasing the object are two different operations:
word_editor = WordEditor.edit(...)try: # ... use word_editor ... word_editor.close() # close the document; the object stays usablefinally: word_editor.dispose() # close it and release the native handleclose() closes the document currently being edited and leaves this object usable: call edit() again to edit another document. It does not release the native handle.
dispose() ends this object’s life. It closes the document first — that is what hands ownership of a converted document back to the SDK — and then releases the handle. Leaving a with block does the same. Calling it more than once has no effect.
An object that is never disposed has its handle reclaimed when it is garbage collected, but that is a safety net rather than a substitute: it releases the handle without closing the document, and finalization runs at an unpredictable time.