Log In
[Expand]General Information
[Collapse]WinForms Controls
 [Expand]What's Installed
 [Expand]Build an Application
 [Collapse]Controls and Libraries
  [Expand]Forms and User Controls
  [Expand]Messages, Notifications and Dialogs
  [Expand]Editors and Simple Controls
  [Expand]Ribbon, Bars and Menu
  [Expand]Application UI Manager
  [Expand]Docking Library
  [Expand]Data Grid
  [Expand]Vertical Grid
  [Expand]Pivot Grid
  [Expand]Tree List
  [Expand]Chart Control
  [Expand]Map Control
  [Collapse]Rich Text Editor
   [Expand]Getting Started
      Document Model
      Document Layout
      Positions and Ranges
      Inline Pictures
      Document Fields
      Hyperlinks and Bookmarks
      Headers and Footers
      Range Permissions
      Numbered and Bulleted Lists
      Floating Objects (Shapes)
      Text Boxes
      Document Properties
     Supported Document Formats
     Layout API
     Product Class Structure
     Default Keyboard Shortcuts
     Measure Units
     HTML Tag Interpretation
   [Expand]Visual Elements
   [Expand]Member Tables
  [Expand]Spell Checker
  [Expand]Form Layout Managers
  [Expand]Navigation Controls
  [Expand]PDF Viewer
  [Expand]TreeMap Control
 [Expand]Common Features
  Get More Help
 [Expand]API Reference
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Document Server
[Expand]Report Server
[Expand]eXpressApp Framework
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation

Document Layout

The document layout represents the physical model of the document, constructed by the Layout Engine from the logical Document Model. The hierarchical structure of the document layout is illustrated in the picture below.


You can explore the document layout using Layout API.

Page settings are specified for each document section via the Section.Page and the Section.Margins properties. The Section.Columns property provides access to columns defined in the current section via the SectionColumns interface. To divide a section into columns, use the SectionColumns.CreateUniformColumns method to create a columns layout and the SectionColumns.SetColumns method to apply the layout.

To determine the correspondence between logical and physical document structures, the RichEditControl.GetPositionFromPoint and the RichEditControl.GetBoundsFromPosition methods can be helpful. The RichEditView.GetCursorBounds method enables you to determine the location and dimensions of the rectangle, which encompasses the cursor in the current view.

The visual appearance of text characters, especially at small font sizes, is dependent on the units of measurement used for internal calculations when symbols are rendered. Rounding errors may lead to font artifacts, irregular font spacing and other minor glitches. You can modify the RichEditControl.LayoutUnit property value to make the document look its best.

Expanded See Also

How would you rate this topic?​​​​​​​