Track changes with Apryse DOCX Editor
Deprecation notice
With version 12.0, the namespace for tracked change APIs has moved from Core.Document.OfficeEditor to Core.Document.OfficeEditor.TrackedChangeManager. See the migration guide for details.
Tracked changes let users suggest, review, and manage edits in a DOCX document, making it easier to collaborate while preserving a clear history of what changed, who made each change, and when.

Tracked changes can be created by typing in reviewing mode. They may be accepted or rejected from the reviewing panel while in reviewing mode or by clicking the tracked change in editing mode.

TrackedChangeManager API
The Core.Document.OfficeEditor.TrackedChangeManager API provides programmatic control over tracked changes in the DOCX Editor. You can manage review workflows entirely through code, without relying on the default editor UI.
You can also use the API to build a fully custom review experience without relying on the default UI. For example, you can create a custom tracked changes panel, integrate changes into your own UI, or implement tailored review workflows using the provided methods and related events:
Retrieve changes – Access all tracked changes in document order.
Navigate within the document – Move the text cursor to a specific change and scroll it into view.
Work with selection – Select tracked changes programmatically and respond to selection changes using events.
Perform actions – Accept or reject individual or multiple tracked changes programmatically.
Handle updates incrementally – Listen for events indicating changes being added, modified, or removed.
Get tracked changes
Tracked changes can be retrieved by using the getTrackedChanges API.
Tracked changes are returned as an array of TrackedChange objects, ordered by their position in the document.
Navigate tracked changes
Jump to a tracked change by ID using the navigateToTrackedChange API. This moves the text cursor to the beginning of the change and scrolls it into view.
Select tracked changes
You can programmatically select a tracked change by ID using the selectTrackedChange API, which highlights the change in the UI. You can also listen for selection changes using the trackedChangeSelected event, which is triggered whenever a tracked change is selected or deselected.
Modify tracked changes
You can programmatically accept or reject tracked changes by calling the appropriate APIs with the IDs obtained from the tracked changes list.
Multiple tracked changes can also be programmatically accepted or rejected by using an array of tracked change IDs.
Get tracked change positions
Use the getPagePositions() method to retrieve the on-page locations of a single tracked change, including its bounding rectangles and page numbers. This shows where the tracked-change markup appears in the document when the method is called. It can be useful for positioning UI elements such as tooltips, highlights, or custom overlays.
Listen for change updates
Listen for tracked change updates using the trackedChangesUpdated event. This event is triggered when a tracked change is added, modified, or deleted.
Last updated
Was this helpful?