# Working with the C1Document Object

## Content

So far we have focused on the object model of the <span data-popup-content="This class is available in \u003ca href=\u0022/componentone/api/wpf/online-richtextbox/dotnet-api/C1.WPF.RichTextBox/C1.WPF.RichTextBox.C1RichTextBox.html\u0022\u003e.NET\u003c/a\u003e and \u003ca href=\u0022https://developer.mescius.com/componentone/docs/wpf/online-richtextbox/C1.WPF.RichTextBox.html\u0022\u003e.NET Framework\u003c/a\u003e." data-popup-title="C1RichTextBox" data-popup-theme="ui-tooltip-green qtip-green">C1RichTextBox</span> control. But the control is just an editable view of a **C1Document** object, which exposes a rich object model for creating and editing the underlying document. This architecture is similar to the one used by the Microsoft WPF **RichTextBox** control, which provides a view of a **FlowDocument** object.

Programming directly against the **C1Document** object is the best way to perform many tasks, including report generation and the implementation of import and export filters. For example, the **Html** property exposes an HTML filter with methods that convert **C1Document** objects to and from HTML strings. You could implement a similar filter class to import and export other popular formats such as RTF or PDF.

The **C1RichTextBox** deals mainly with text. It provides a flat, linear view of the control content. The **C1Document**, on the other hand, exposes the structure of the document. The document model makes it easy to enumerate the runs within each paragraph, items within each list, and so on. This will be shown in a later section.

## See Also

[Creating Documents and Reports](/componentone/docs/wpf/online-richtextbox/Working_with_the_C1Document_Object/Creating_Documents_and_Reports)

[Implementing Split Views](/componentone/docs/wpf/online-richtextbox/Working_with_the_C1Document_Object/Implementing_Split_Views)

[Using the C1Document Class](/componentone/docs/wpf/online-richtextbox/Working_with_the_C1Document_Object/Using_the_C1Document_Class)

[Understanding C1TextPointer](/componentone/docs/wpf/online-richtextbox/Working_with_the_C1Document_Object/Understanding_C1TextPointer)