- 2 minutes to read
The DevExpress Rich Text Editor (RichEdit) is implemented based on the flow document concept that enables a document to "reflow content" depending on the environment variables (such as window size, device resolution) and optional user preferences. For this reason, the RichEdit defines two types of structures for a document.
The logical structure which reflects a document's logical hierarchical organization. To modify the Document Model's structure, use the provided public client-side API.
The physical structure which represents the appearance of physical entities (such as text, picture, table) in a document. It is a hierarchical description of a document layout. The Document Layout structure cannot be modified programmatically via the public API.
In general, RichEdit processes a document in the following order:
When RichEdit opens a document of the supported format, the Document Model is built first for the document.
Note that the RichEdit's Document Model has its own unique structure and it differs from models of any known document format (such as RTF or DOC).
RichEdit's Layout Engine converts the Document Model into the Document Layout.
Note that there is no one to one correspondence between physical and logical entities.
- RichEdit visualizes the Document Layout by rendering the HTML code in a web page to display the document.
The structural elements of a document are described in more detail in the following articles.
- Document Model
- Document Layout
- Inline Pictures
- Hyperlinks and Bookmarks
- Headers and Footers
- Floating Objects
The ASPxRichEdit control internally uses a comprehensive API (a set of interfaces, methods, events and commands) implemented by the RichEdit Core Library. This API is not publicly exposed at the ASPxRichEdit control level.
However, if you want to get familiarized with the RichEdit's document internal implementation, you can refer to the Document Server's Fundamentals - Document topic which lists the most important entities of the RichEdit API.