Features
What the editor edits, what it preserves untouched, and its current limitations.
@portone/docx-editor edits common DOCX body content while preserving document structures
outside its editing surface.
This page is the user-facing support summary. API details live in Custom controls and Core API.
Supported features
| Area | What you can do |
|---|---|
| Text formatting | Edit bold, italic, strikethrough, underline, palette or custom HEX colors, highlight, fonts, and font size. |
| Paragraphs | Apply paragraph styles, alignment, indentation, line spacing, line breaks, and page breaks. |
| Tabs | Insert, paste, format, navigate, select, and align document tabs using the document's automatic interval and effective paragraph stops. |
| Lists | Create and edit common bullet and numbered lists, including nested levels. |
| Tables | Insert and remove rows, columns, and tables; merge, split, resize columns and rows, format, vertically align, and pad cells. Long tables continue at safe row boundaries, repeating leading tblHeader rows. |
| Images | Insert, paste, drop, select, and resize inline images. |
| Hyperlinks | Create, change, remove, and open external links. |
| Comments | View anchored threads; create, edit, reply to, resolve, reopen, and delete plain-text comments. |
| Footnotes and endnotes | View references and plain-text note bodies while editing surrounding text. |
| Headers and footers | Visually preview the first section's plain-text first, even, and default stories, including decimal PAGE and NUMPAGES fields. |
| Content controls | Edit or lock supported text and table-cell controls. |
| Clipboard | Paste supported character formatting, paragraphs, destination-matched heading styles, line breaks, links, and common lists. Unsupported web styling is reduced to readable text. |
| Editor | Use built-in controls, selectable document zoom, read-only mode, undo and redo, keyboard navigation, and IME composition. |
Keyboard shortcuts
Mod is Command on macOS and Control elsewhere.
| Keys | What happens |
|---|---|
Enter | Splits the paragraph, and the new paragraph keeps the original's formatting, as Word does. In an empty list item it leaves the list instead. |
Shift+Enter | Inserts a line break. |
Mod+Enter | Inserts a page break. |
Mod+B, Mod+I, Mod+U | Toggles bold, italic, and underline. |
Mod+Shift+X | Toggles strikethrough. |
Mod+K | Opens the link panel over the selection. With nothing to link it reports that it did nothing, so the browser keeps its own binding. |
Mod+Z | Undo. |
Mod+Shift+Z, Mod+Y | Redo. |
Tab | Inside a table it moves to the next cell; in a list paragraph it increases the level; in an ordinary paragraph it inserts a document tab. |
Shift+Tab | Moves to the previous cell, or decreases the list level. |
ArrowLeft, ArrowRight | Moves the caret across a laid-out tab as one step. Holding Shift extends the selection instead. |
Escape | Closes an open panel, menu, or link card and hands focus back to the paper. It also hides tooltips until the pointer or focus moves. |
Keys not listed here fall through to ProseMirror's base keymap, which covers ordinary caret
movement, selection, and deletion.
A keymap passed through the plugins prop sees events first, so an application can take over a
binding such as Mod+K without replacing the editor.
Preserved content
| Content | Behavior |
|---|---|
| Additional Word character formatting and character styles | Existing formatting that the editor does not display or edit is preserved. |
| Bookmarks | Existing bookmark ranges are preserved at their document positions but are not displayed or editable. |
| Document fields | Existing fields in the document body are preserved but not displayed or editable. |
| Tracked changes | Existing revision markup is preserved but not displayed or editable. |
Current limitations
- Uncommon list formats may be displayed as decimal numbers, and a new list requires an existing numbering part.
- Tab leader glyphs and bar lines remain preserved in OOXML but are not drawn.
- Visual page boundaries are approximate and may differ from Word or printed output.
Preservation
Content outside the supported editing surface is not silently discarded. Untouched package parts and document blocks are written back from their original XML, while placeholders retain structures the editor cannot safely model.
If a safe round trip cannot be guaranteed, import or export fails with a stable error code instead of returning a damaged document. Core API documents the package limits and the server parser requirements.