private void CreateShowDocument()
        {
            var document = new RadDocument();

            document.LayoutMode = DocumentLayoutMode.Paged;

            RadDocumentEditor editor = new RadDocumentEditor(document);

            editor.Insert("Text Before Text Inside Text After");

            DocumentPosition rangeStartPosition = new DocumentPosition(document);

            rangeStartPosition.MoveToNextWordStart();
            rangeStartPosition.MoveToNextWordStart();

            DocumentPosition rangeEndPosition = new DocumentPosition(rangeStartPosition);

            rangeEndPosition.MoveToNextWordStart();
            rangeEndPosition.MoveToCurrentWordEnd();

            document.Selection.SetSelectionStart(rangeStartPosition);
            document.Selection.AddSelectionEnd(rangeEndPosition);

            editor.InsertAnnotationRange(new CustomRangeStart(), new CustomRangeEnd());

            this.radRichTextBox.Document = document;

            UpdateTextBoxText();
        }
        private void Selector_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            editor.Document.Selection.Clear();

            var search       = new DocumentTextSearch(editor.Document);
            var lastPosition = new DocumentPosition(editor.Document);

            bool endOfDocument   = false;
            bool theFirstFinding = true;

            while (!endOfDocument)
            {
                TextRange range;

                range = search.Find("#break#", theFirstFinding ? new DocumentPosition(editor.Document) : lastPosition);

                if (range != null)
                {
                    theFirstFinding = false;
                    lastPosition    = range.EndPosition;

                    editor.Document.Selection.AddSelectionStart(range.StartPosition);
                    editor.Document.Selection.AddSelectionEnd(range.EndPosition);

                    var documentEditor = new RadDocumentEditor(editor.Document);
                    documentEditor.InsertLineBreak();
                }
                else
                {
                    endOfDocument = true;
                }
            }
        }
        private void CreateShowDocument()
        {
            var document = new RadDocument();
            document.LayoutMode = DocumentLayoutMode.Paged;

            RadDocumentEditor editor = new RadDocumentEditor(document);
            editor.Insert("Text Before Text Inside Text After");

            DocumentPosition rangeStartPosition = new DocumentPosition(document);
            rangeStartPosition.MoveToNextWordStart();
            rangeStartPosition.MoveToNextWordStart();

            DocumentPosition rangeEndPosition = new DocumentPosition(rangeStartPosition);
            rangeEndPosition.MoveToNextWordStart();
            rangeEndPosition.MoveToCurrentWordEnd();

            document.Selection.SetSelectionStart(rangeStartPosition);
            document.Selection.AddSelectionEnd(rangeEndPosition);

            editor.InsertAnnotationRange(new CustomRangeStart(), new CustomRangeEnd());

            this.radRichTextBox.Document = document;

            UpdateTextBoxText();
        }
        private Footer CreateFooter()
        {
            RadDocument       footerDocument = new RadDocument();
            RadDocumentEditor editor         = new RadDocumentEditor(footerDocument);

            editor.InsertTable(1, 2);
            editor.ChangeStyleName(RadDocumentDefaultStyles.DefaultNormalTableStyleName);

            editor.Document.Selection.SelectAll();

            editor.ChangeFontFamily(new FontFamily("Arial"));
            editor.ChangeForeColor(Color.FromRgb(29, 192, 34));
            editor.ChangeFontSize(Unit.PointToDip(10));

            editor.Document.Selection.Clear();

            editor.Insert("Copyright © 2002-2015 Telerik. All rights reserved.");

            var table = editor.Document.EnumerateChildrenOfType <Table>().FirstOrDefault();

            editor.Document.CaretPosition.MoveToStartOfDocumentElement(table.Rows.First.Cells.Last);
            table.Grid.Columns.Last().PreferredWidth = new TableWidthUnit(20);

            PageField field = new PageField();

            editor.InsertField(field, FieldDisplayMode.Result);
            editor.ChangeParagraphTextAlignment(RadTextAlignment.Right);

            Footer footer = new Footer()
            {
                Body = footerDocument
            };

            return(footer);
        }
        private void InsertCustomFieldInFooter()
        {
            RadDocument document = new RadDocument();
            RadDocumentEditor editor = new RadDocumentEditor(document);

            Footer footer = associatedRichTextBox.Document.Sections.First.Footers.Default;
            footer.Body = document;

            editor.InsertField(new CustomField(), FieldDisplayMode.Result);
        }
Beispiel #6
0
        private void InsertCustomFieldInHeader()
        {
            RadDocument       document = new RadDocument();
            RadDocumentEditor editor   = new RadDocumentEditor(document);

            Header header = associatedRichTextBox.Document.Sections.First.Headers.Default;

            header.Body = document;

            editor.InsertField(new CustomField(), FieldDisplayMode.Result);
        }
        void radRichTextBox_Loaded(object sender, RoutedEventArgs e)
        {
            RadDocument document = new RadDocument();
            string randomText = @"On the Insert tab, the galleries include items that are designed to coordinate with the overall look of your document. You can use these galleries to insert tables, headers, footers, lists, cover pages, and other document building blocks. When you create pictures, charts, or diagrams, they also coordinate with your current document look";

            RadDocumentEditor documentEditor = new RadDocumentEditor(document);
            documentEditor.Insert(randomText);

            this.radRichTextBox.Document = (RadDocument)document.CreateDeepCopy();
            this.radRichTextBox.Document.Sections.First.Headers.Default.Body = document;
        }
Beispiel #8
0
        void radRichTextBox_Loaded(object sender, RoutedEventArgs e)
        {
            RadDocument document   = new RadDocument();
            string      randomText = @"On the Insert tab, the galleries include items that are designed to coordinate with the overall look of your document. You can use these galleries to insert tables, headers, footers, lists, cover pages, and other document building blocks. When you create pictures, charts, or diagrams, they also coordinate with your current document look";

            RadDocumentEditor documentEditor = new RadDocumentEditor(document);

            documentEditor.Insert(randomText);

            this.radRichTextBox.Document = (RadDocument)document.CreateDeepCopy();
            this.radRichTextBox.Document.Sections.First.Headers.Default.Body = document;
        }
        private static void CopySectionProperties(RadDocument fromDocument, RadDocument toDocument)
        {
            CopyHeaderAndFooter(fromDocument, toDocument);

            RadDocumentEditor documentEditor = new RadDocumentEditor(toDocument);
            documentEditor.Document.CaretPosition.MoveToLastPositionInDocument();

            documentEditor.ChangeSectionPageOrientation(fromDocument.Sections.Last.PageOrientation);
            documentEditor.ChangeSectionPageSize(fromDocument.Sections.Last.PageSize);
            documentEditor.ChangeSectionPageMargin(fromDocument.Sections.Last.PageMargin);
            documentEditor.ChangeSectionFooterBottomMargin(fromDocument.Sections.Last.FooterBottomMargin);
            documentEditor.ChangeSectionHeaderTopMargin(fromDocument.Sections.Last.HeaderTopMargin);
        }
Beispiel #10
0
        private static void CopySectionProperties(RadDocument fromDocument, RadDocument toDocument)
        {
            CopyHeaderAndFooter(fromDocument, toDocument);

            RadDocumentEditor documentEditor = new RadDocumentEditor(toDocument);

            documentEditor.Document.CaretPosition.MoveToLastPositionInDocument();

            documentEditor.ChangeSectionPageOrientation(fromDocument.Sections.Last.PageOrientation);
            documentEditor.ChangeSectionPageSize(fromDocument.Sections.Last.PageSize);
            documentEditor.ChangeSectionPageMargin(fromDocument.Sections.Last.PageMargin);
            documentEditor.ChangeSectionFooterBottomMargin(fromDocument.Sections.Last.FooterBottomMargin);
            documentEditor.ChangeSectionHeaderTopMargin(fromDocument.Sections.Last.HeaderTopMargin);
        }
        private static void CopyHeaderAndFooter(RadDocument fromDocument, RadDocument toDocument)
        {
            RadDocumentEditor documentEditor = new RadDocumentEditor(toDocument);

            documentEditor.ChangeSectionHeaderLinkToPrevious(documentEditor.Document.Sections.Last, HeaderFooterType.Default, false);
            if (!fromDocument.Sections.First.Headers.Default.IsEmpty)
            {
                documentEditor.ChangeSectionHeader(documentEditor.Document.Sections.Last, HeaderFooterType.Default, fromDocument.Sections.Last.Headers.Default);
            }

            documentEditor.ChangeSectionFooterLinkToPrevious(documentEditor.Document.Sections.Last, HeaderFooterType.Default, false);
            if (!fromDocument.Sections.First.Footers.Default.IsEmpty)
            {
                documentEditor.ChangeSectionFooter(documentEditor.Document.Sections.Last, HeaderFooterType.Default, fromDocument.Sections.Last.Footers.Default);
            }
        }
Beispiel #12
0
        private void InsertCustomFieldInFooter()
        {
            RadDocument       document = new RadDocument();
            RadDocumentEditor editor   = new RadDocumentEditor(document);

            Footer footer = associatedRichTextBox.Document.Sections.First.Footers.Default;

            footer.Body = document;

            CustomPageField customPageField = new CustomPageField
            {
                NumberFormattingType = NumberFormattingTypes.Latin
            };

            editor.InsertField(customPageField, FieldDisplayMode.Result);
        }
Beispiel #13
0
        private void InsertCustomFieldInHeader()
        {
            RadDocument       document = new RadDocument();
            RadDocumentEditor editor   = new RadDocumentEditor(document);

            Header header = associatedRichTextBox.Document.Sections.First.Headers.Default;

            header.Body = document;

            CustomPageField customPageField = new CustomPageField
            {
                NumberFormattingType = NumberFormattingTypes.Roman,
                DocumentName         = "RadDocument",
            };

            editor.InsertField(customPageField, FieldDisplayMode.Result);
        }
        private Header CreateHeader()
        {
            RadDocument       headerDocument = new RadDocument();
            RadDocumentEditor editor         = new RadDocumentEditor(headerDocument);

            using (Stream stream = Application.GetResourceStream(GetResourceUri("Images/Telerik_Logo.jpg")).Stream)
            {
                ImageInline image = new ImageInline(stream);
                editor.InsertInline(image);
            }
            editor.ChangeParagraphTextAlignment(RadTextAlignment.Center);

            Header header = new Header()
            {
                Body = headerDocument
            };

            return(header);
        }
        private static void CopyHeaderAndFooter(RadDocument fromDocument, RadDocument toDocument)
        {
            RadDocumentEditor documentEditor = new RadDocumentEditor(toDocument);
            if (!fromDocument.Sections.First.Headers.Default.IsEmpty)
            {
                documentEditor.ChangeSectionHeader(documentEditor.Document.Sections.First, HeaderFooterType.Default, fromDocument.Sections.Last.Headers.Default);
            }
            else
            {
                documentEditor.ChangeSectionHeaderLinkToPrevious(documentEditor.Document.Sections.Last, HeaderFooterType.Default, false);
            }

            if (!fromDocument.Sections.First.Footers.Default.IsEmpty)
            {
                documentEditor.ChangeSectionFooter(documentEditor.Document.Sections.Last, HeaderFooterType.Default, fromDocument.Sections.Last.Footers.Default);
            }
            else
            {
                documentEditor.ChangeSectionFooterLinkToPrevious(documentEditor.Document.Sections.Last, HeaderFooterType.Default, false);
            }
        }
Beispiel #16
0
        public void PasteNewText()
        {
            DocumentFragment clipboardDocument     = null;
            string           clipboardText         = null;
            bool             clipboardContainsData = false;

            if (ClipboardEx.ContainsDocument(null))
            {
                clipboardDocument     = ClipboardEx.GetDocument();
                clipboardContainsData = true;
            }
            else if (ClipboardEx.ContainsText(null))
            {
                clipboardText         = ClipboardEx.GetText(null);
                clipboardContainsData = true;
            }

            if (!clipboardContainsData)
            {
                return;
            }

            this.radRichTextEditor1.ChangeFontFamily(new Telerik.WinControls.RichTextEditor.UI.FontFamily("Consolas"));

            if (clipboardDocument != null)
            {
                RadDocument       doc    = new RadDocument();
                RadDocumentEditor editor = new RadDocumentEditor(doc);
                editor.InsertFragment(clipboardDocument);

                string text = provider.Export(doc);

                this.radRichTextEditor1.RichTextBoxElement.ActiveDocumentEditor.Insert(text);
            }
            else if (!string.IsNullOrEmpty(clipboardText))
            {
                this.radRichTextEditor1.RichTextBoxElement.ActiveDocumentEditor.Insert(clipboardText);
            }
        }
        private RadDocument CreateDocument()
        {
            RadDocument document = new RadDocument();

            document.History.IsEnabled = false;

            RadDocumentEditor editor = new RadDocumentEditor(document);

            editor.Document.LayoutMode = DocumentLayoutMode.Paged;

            #region CreateCover

            StyleDefinition titleStyle = new StyleDefinition("Title", StyleType.Paragraph);
            titleStyle.ParagraphProperties.TextAlignment = RadTextAlignment.Center;
            titleStyle.SpanProperties.FontSize           = 35;
            titleStyle.SpanProperties.ForeColor          = Colors.CornflowerBlue;
            titleStyle.NextStyleName = RadDocumentDefaultStyles.NormalStyleName;

            editor.Document.StyleRepository.Add(titleStyle);
            editor.ChangeStyleName("Title");

            editor.Insert("Sample Word Document Test");
            editor.InsertSectionBreak(SectionBreakType.NextPage);

            #endregion

            #region CreateTOCSection

            editor.ChangeStyleName("Title");

            editor.Insert("Table of contents");

            editor.InsertField(new TableOfContentsField()
            {
            });
            editor.InsertSectionBreak(SectionBreakType.NextPage);

            #endregion

            #region Content

            editor.ChangeStyleName(RadDocumentDefaultStyles.GetHeadingStyleNameByIndex(1));
            editor.ChangeParagraphListStyle(DefaultListStyles.NumberedHierarchical);
            editor.Insert("Section A Heading");
            editor.InsertParagraph();
            editor.ChangeParagraphListStyle(null);

            editor.Insert("Lorem ipsum dolor sit amet, consectetur adipiscing elit. In in elementum ipsum. Duis vel vulputate massa, eget iaculis urna. Morbi feugiat, magna eget accumsan mollis, leo lectus porta diam, id sollicitudin mi tellus nec tortor. Nullam lacinia consequat blandit. Sed tincidunt pulvinar ultricies. Interdum et malesuada fames ac ante ipsum primis in faucibus. Praesent nec convallis nunc. Maecenas fermentum, dolor sed egestas aliquet, diam sem tempus nulla, sed vehicula ipsum metus ut odio. Proin commodo malesuada justo in mollis. Nullam et blandit est, ac dapibus tortor. Aliquam ligula mauris, sodales vitae gravida a, bibendum eget arcu.");
            editor.InsertParagraph();

            editor.ChangeStyleName(RadDocumentDefaultStyles.GetHeadingStyleNameByIndex(2));
            editor.ChangeParagraphListStyle(DefaultListStyles.Numbered);
            editor.ContinueListNumbering();
            editor.ChangeParagraphListLevel(1);
            editor.Insert("Subsection A1");

            editor.InsertParagraph();
            editor.ChangeParagraphListStyle(DefaultListStyles.None);

            editor.Insert("Proin sodales aliquam lorem ac laoreet. Integer diam lorem, cursus at arcu sed, ornare luctus diam. Maecenas a blandit sem. Donec quam nunc, euismod quis quam vel, pulvinar rhoncus urna.");
            editor.InsertParagraph();

            editor.ChangeStyleName(RadDocumentDefaultStyles.GetHeadingStyleNameByIndex(2));
            editor.ChangeParagraphListStyle(DefaultListStyles.Numbered);
            editor.ContinueListNumbering();
            editor.ChangeParagraphListLevel(1);
            editor.Insert("Subsection A2");
            editor.InsertParagraph();
            editor.ChangeParagraphListStyle(null);

            editor.Insert("Duis ornare magna mi, id commodo sem pulvinar et. Quisque adipiscing diam purus, nec posuere eros fringilla non. Nam a dictum lacus. In sit amet dignissim est. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Suspendisse potenti");
            #endregion

            editor.UpdateAllFields(FieldDisplayMode.Result);

            editor.Document.Sections.First.Headers.Default = this.CreateHeader();
            editor.Document.Sections.First.Footers.Default = this.CreateFooter();

            return(document);
        }
        private void radRichTextBox_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.Space)
            {
                double originalOffset = radRichTextBox.VerticalOffset;
                double originalY      = this.radRichTextBox.Document.CaretPosition.Location.Y;
                using (DocumentPosition originalCaretPosition =
                           new DocumentPosition(this.radRichTextBox.Document.CaretPosition, true))
                {
                    Paragraph currentParagraph = radRichTextBox.Document.CaretPosition.GetCurrentParagraph();

                    // remove any extant links, so that we can reparse them
                    IEnumerable <HyperlinkRangeStart> links = this.radRichTextBox.Document.CaretPosition
                                                              .GetCurrentParagraph().EnumerateChildrenOfType <HyperlinkRangeStart>();
                    foreach (HyperlinkRangeStart link in links)
                    {
                        RadDocumentEditor documentEditor = new RadDocumentEditor(radRichTextBox.Document);
                        documentEditor.DeleteAnnotationRange(link);
                    }

                    foreach (Inline inline in currentParagraph.Inlines)
                    {
                        string currentBook    = string.Empty;
                        uint   currentChapter = 0;
                        uint   currentVerse   = 0;


                        DocumentTextSearch search = new DocumentTextSearch(radRichTextBox.Document);
                        radRichTextBox.Document.CaretPosition.MoveToFirstPositionInParagraph();
                        DocumentPosition startDocPos = radRichTextBox.Document.CaretPosition;
                        radRichTextBox.Document.CaretPosition.MoveToLastPositionInParagraph();
                        DocumentPosition endDocPos = radRichTextBox.Document.CaretPosition;
                        radRichTextBox.Document.CaretPosition.MoveToFirstPositionInParagraph();

                        foreach (TextRange textRange in search.FindAll("(\\b((1|2|3|I|II|III|i|ii|iii) )?[\\w']+\\b\\s\\d+:\\d*[\\d \\-:]{0,300}\\d)|(, ?\\d+:\\d+)[\\-]*\\d*[\\d \\-:]{0,300}\\d|(, ?\\d+)[\\-]*\\d*|(v\\d{1,3})", startDocPos, originalCaretPosition))
                        {
                            // textRange will represent a string in one of the following formats:
                            // 1: book chapter:verse (with the possible suffix of "-{chapter:}verse
                            // 2: , chapter:verse (with the possible suffix of "-{chapter:}verse
                            // 3: , verse  (with the possible suffix of "-{chapter:}verse
                            // 4: v[verse]



                            RadDocumentEditor documentEditor = new RadDocumentEditor(radRichTextBox.Document);
                            radRichTextBox.Document.Selection.Ranges.Clear();
                            radRichTextBox.Document.Selection.AddSelectionStart(textRange.StartPosition);
                            radRichTextBox.Document.Selection.AddSelectionEnd(textRange.EndPosition);
                            string currentWord = radRichTextBox.Document.Selection.GetSelectedText();

                            Debug.WriteLine($"trying to parse {currentWord}");

                            ParsedReference result = ProcessReference(currentWord, currentBook, currentChapter, currentVerse);

                            if (result.WasParsedSuccessfully)
                            {
                                HyperlinkInfo info = new HyperlinkInfo()
                                {
                                    NavigateUri = $"kgb://book={result.Book}&chap={result.Chapter}&verse={result.Verse}",
                                    Target      = HyperlinkTargets.Blank,
                                    IsAnchor    = false
                                };


                                documentEditor.InsertHyperlink(info);
                                currentBook    = result.Book;
                                currentChapter = result.Chapter;
                                currentVerse   = result.Verse;
                            }

                            radRichTextBox.Document.Selection.Ranges.Clear();
                        }
                    }

                    radRichTextBox.Document.CaretPosition.MoveToPosition(originalCaretPosition);
                    radRichTextBox.Document.Selection.Ranges.Clear();
                    radRichTextBox.ActiveEditorPresenter.ScrollToVerticalOffset(originalOffset - originalY + this.radRichTextBox.Document.CaretPosition.Location.Y);
                }
            }
            radRichTextBox.UpdateEditorLayout(false);
        }
Beispiel #19
0
        private void Selector_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            editor.Document.Selection.Clear();

            var search = new DocumentTextSearch(editor.Document);
            var lastPosition = new DocumentPosition(editor.Document);

            bool endOfDocument = false;
            bool theFirstFinding = true;

            while (!endOfDocument)
            {
                TextRange range;

                range = search.Find("#break#", theFirstFinding ? new DocumentPosition(editor.Document) : lastPosition);

                if (range != null)
                {
                    theFirstFinding = false;
                    lastPosition = range.EndPosition;

                    editor.Document.Selection.AddSelectionStart(range.StartPosition);
                    editor.Document.Selection.AddSelectionEnd(range.EndPosition);

                    var documentEditor = new RadDocumentEditor(editor.Document);
                    documentEditor.InsertLineBreak();
                }
                else
                {
                    endOfDocument = true;
                }
            }
        }
        private Header CreateHeader()
        {
            RadDocument headerDocument = new RadDocument();
            RadDocumentEditor editor = new RadDocumentEditor(headerDocument);

            using (Stream stream = Application.GetResourceStream(GetResourceUri("Images/Telerik_Logo.jpg")).Stream)
            {
                ImageInline image = new ImageInline(stream);
                editor.InsertInline(image);
            }
            editor.ChangeParagraphTextAlignment(RadTextAlignment.Center);

            Header header = new Header() { Body = headerDocument };
            return header;
        }
        private RadDocument CreateDocument()
        {
            RadDocument document = new RadDocument();
            document.History.IsEnabled = false;

            RadDocumentEditor editor = new RadDocumentEditor(document);

            editor.Document.LayoutMode = DocumentLayoutMode.Paged;

            #region CreateCover

            StyleDefinition titleStyle = new StyleDefinition("Title", StyleType.Paragraph);
            titleStyle.ParagraphProperties.TextAlignment = RadTextAlignment.Center;
            titleStyle.SpanProperties.FontSize = 35;
            titleStyle.SpanProperties.ForeColor = Colors.CornflowerBlue;
            titleStyle.NextStyleName = RadDocumentDefaultStyles.NormalStyleName;

            editor.Document.StyleRepository.Add(titleStyle);
            editor.ChangeStyleName("Title");

            editor.Insert("Sample Word Document Test");
            editor.InsertSectionBreak(SectionBreakType.NextPage);

            #endregion

            #region CreateTOCSection

            editor.ChangeStyleName("Title");

            editor.Insert("Table of contents");

            editor.InsertField(new TableOfContentsField() { });
            editor.InsertSectionBreak(SectionBreakType.NextPage);

            #endregion

            #region Content

            editor.ChangeStyleName(RadDocumentDefaultStyles.GetHeadingStyleNameByIndex(1));
            editor.ChangeParagraphListStyle(DefaultListStyles.NumberedHierarchical);
            editor.Insert("Section A Heading");
            editor.InsertParagraph();
            editor.ChangeParagraphListStyle(null);

            editor.Insert("Lorem ipsum dolor sit amet, consectetur adipiscing elit. In in elementum ipsum. Duis vel vulputate massa, eget iaculis urna. Morbi feugiat, magna eget accumsan mollis, leo lectus porta diam, id sollicitudin mi tellus nec tortor. Nullam lacinia consequat blandit. Sed tincidunt pulvinar ultricies. Interdum et malesuada fames ac ante ipsum primis in faucibus. Praesent nec convallis nunc. Maecenas fermentum, dolor sed egestas aliquet, diam sem tempus nulla, sed vehicula ipsum metus ut odio. Proin commodo malesuada justo in mollis. Nullam et blandit est, ac dapibus tortor. Aliquam ligula mauris, sodales vitae gravida a, bibendum eget arcu.");
            editor.InsertParagraph();

            editor.ChangeStyleName(RadDocumentDefaultStyles.GetHeadingStyleNameByIndex(2));
            editor.ChangeParagraphListStyle(DefaultListStyles.Numbered);
            editor.ContinueListNumbering();
            editor.ChangeParagraphListLevel(1);
            editor.Insert("Subsection A1");

            editor.InsertParagraph();
            editor.ChangeParagraphListStyle(DefaultListStyles.None);

            editor.Insert("Proin sodales aliquam lorem ac laoreet. Integer diam lorem, cursus at arcu sed, ornare luctus diam. Maecenas a blandit sem. Donec quam nunc, euismod quis quam vel, pulvinar rhoncus urna.");
            editor.InsertParagraph();

            editor.ChangeStyleName(RadDocumentDefaultStyles.GetHeadingStyleNameByIndex(2));
            editor.ChangeParagraphListStyle(DefaultListStyles.Numbered);
            editor.ContinueListNumbering();
            editor.ChangeParagraphListLevel(1);
            editor.Insert("Subsection A2");
            editor.InsertParagraph();
            editor.ChangeParagraphListStyle(null);

            editor.Insert("Duis ornare magna mi, id commodo sem pulvinar et. Quisque adipiscing diam purus, nec posuere eros fringilla non. Nam a dictum lacus. In sit amet dignissim est. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Suspendisse potenti");
            #endregion

            editor.UpdateAllFields(FieldDisplayMode.Result);

            editor.Document.Sections.First.Headers.Default = this.CreateHeader();
            editor.Document.Sections.First.Footers.Default = this.CreateFooter();

            return document;
        }
        private Footer CreateFooter()
        {
            RadDocument footerDocument = new RadDocument();
            RadDocumentEditor editor = new RadDocumentEditor(footerDocument);

            editor.InsertTable(1, 2);
            editor.ChangeStyleName(RadDocumentDefaultStyles.DefaultNormalTableStyleName);

            editor.Document.Selection.SelectAll();

            editor.ChangeFontFamily(new FontFamily("Arial"));
            editor.ChangeForeColor(Color.FromRgb(29, 192, 34));
            editor.ChangeFontSize(Unit.PointToDip(10));

            editor.Document.Selection.Clear();

            editor.Insert("Copyright © 2002-2015 Telerik. All rights reserved.");

            var table = editor.Document.EnumerateChildrenOfType<Table>().FirstOrDefault();

            editor.Document.CaretPosition.MoveToStartOfDocumentElement(table.Rows.First.Cells.Last);
            table.Grid.Columns.Last().PreferredWidth = new TableWidthUnit(20);

            PageField field = new PageField();
            editor.InsertField(field, FieldDisplayMode.Result);
            editor.ChangeParagraphTextAlignment(RadTextAlignment.Right);

            Footer footer = new Footer() { Body = footerDocument };
            return footer;
        }