[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Collapse]WPF Controls
 [Expand]What's Installed
 [Expand].NET Core 3 Support
 [Expand]Common Concepts
 [Expand]MVVM Framework
 [Collapse]Controls and Libraries
  [Expand]Data Grid
  [Expand]Ribbon, Bars and Menu
  [Expand]Charts Suite
  [Expand]Pivot Grid
  [Collapse]Rich Text Editor
   [Expand]Product Information
    Product Class Structure
    Supported Formats
   [Expand]Getting Started
   [Expand]RichEditControl Document
    Text Formatting
    Import and Export
   [Expand]Page Layout
    Track Changes
    Mail Merge
    Restrictions and Protection
   [Expand]Visual Elements
    HTML Tag Support
    [Expand]UI Customization
      How to: Select Text Programmatically
      How to: Insert Text at the Cursor Position
      How to: Obtain the Document Position under the Mouse Cursor
      How To: Obtain Specific Document Part
      How to: Append Text to the Paragraph
      How to: Mark Text as Hidden and Display Hidden Text in the DXRichEdit
    [Expand]Text Boxes
     Spell Check
  [Expand]Tree List
  [Expand]Gauge Controls
  [Expand]Map Control
  [Expand]Layout Management
  [Expand]Windows Modern UI
  [Expand]Data Editors
  [Expand]Navigation Controls
  [Expand]Spell Checker
  [Expand]Property Grid
  [Expand]PDF Viewer
  [Expand]TreeMap Control
  [Expand]Gantt Control
  [Expand]Diagram Control
  [Expand]Windows and Utility Controls
   Dialogs, Notifications and Panels
  [Expand]Scheduler (legacy)
 [Expand]Scaffolding Wizard
  Redistribution and Deployment
  Get More Help
 [Expand]API Reference
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Report and Dashboard Server
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

How To: Obtain Specific Document Part

This example demonstrates how to retrieve the DocumentRange occupied by a specific document part.

You can use the following approaches to get a specific document part:

  • Section - Use the Section.Range property to access the required section's range.
  • Page - call the DocumentLayout.GetPage method to iterate through the document pages. The LayoutPage.MainContentRange property returns the obtained page's range as a FixedRange object. Call the SubDocument.CreateRange method to convert the retrieved FixedRange to DocumentRange.

  • Paragraphs with Headings (if Heading1, Heading2, etc. style is applied to the headings) – Applying the Heading style to the paragraph changes its outline level. Find all paragraphs with the required Paragraph.OutlineLevel property value. Then obtain the range located between these paragraphs (including the paragraph with the heading).

You can get text from the DocumentRange instance. The table below shows API used to retrieve and insert format-specific content:




Plain Text


SubDocument.AppendText - Appends the specified text.

SubDocument.AppendSingleLineText - Appends text as a single line.

SubDocument.InsertText - Inserts the specified text at the specified position.

SubDocument.InsertSingleLineText - Inserts a single line of text (text without line breaks) at the specified position.

Rich Text Format


SubDocument.AppendRtfText - Appends formatted text.

SubDocument.InsertRtfText - Inserts the specified formatted text into the specified position.



SubDocument.AppendHtmlText - Appends HTML formatted text.

SubDocument.InsertHtmlText - Inserts the specified HTML text into the specified position.





OpenXML array


Is this topic helpful?​​​​​​​