Improve measure and arrange of a document and its child document elements respectively - Span, Paragraph, Table, Section and etc. This will also improve the import time for large documents.
Improve the performance when a document is printed.
When documents containing images (e.g. few JPEGs with size of 5 MB) are loaded, the memory usage of the process goes up pretty quickly and eventually OutOfMemoryException is thrown. This is not conventional memory leak, as managed types are not leaking. After some investigation, we believe that GC cannot collect some MemoryStream objects (used for the conversion of the image from Base64 to PNG) from the Large Object Heap fast enough, or LOH becomes fragmented. Available in LIB version: 2017.1.213
Text in a section before continuous section break is not evenly distributed among columns when Left column type is applied. As a result the first column's height is bigger than the height of the second column.
Performing Undo of bolded selection when the selection includes two tables separated by a paragraph is nesting the tables which were siblings.
When a conditional table style is applied to a table and the document is exported to RTF format, when the exported document is opened in MS Word, the FontWeight and ForeColor properties are not respected. Examples: If Grid Table 4 style from the gallery is applied and the document is exported and opened in MS Word, the FontWeight property is not respected and the text is not bolded. If Grid Table 5 Dark style from the gallery is applied and the document is exported and opened in MS Word, the FontWeight and ForeColor properties are not respected.
The ImagesDeflaterCompressionLevel and ContentsDeflaterCompressionLevel in the PdfFormatProvider's export settings have 0 for default value instead of -1. Workaround: Change the settings's properties to -1 explicitly.
When there is applied a local font family, the font family of the theme should be set to none. Otherwise, the font family of the elements that have a local value will be changed. Workaround: Reset the theme font family after import: this.radRichTextBox.Document.Style.SpanProperties.ThemeFontFamily = Telerik.Windows.Documents.Model.Themes.ThemeFontsEnum.none;
Each time the Styles Gallery becomes visible it triggers an update of each style which leads to increased CPU usage. Significant performance delay is not experienced as the update is executed in dispatcher and with delayed execution. However, a blink of the styles could be noticed.
This includes everything related to: - Navigation of the controls only with keyboard (Tab, Shift+Tab, arrows, Alt+<Letter>) - Correct Screen Reader pronunciation when entering into/navigating in the control, including RadRichTextBox itself.
If an Rtf document is imported and then exported to a Docx file, every single paragraph has associated list when the document is opened in MS Word. Workaround: Before the document export, clear the ListId property: if (this.radRichTextBox.Document.Style.ParagraphProperties.ListId == -1) { var property = this.radRichTextBox.Document.Style.ParagraphProperties.GetStyleProperty(Paragraph.ListIdProperty); property.ClearValue(); }
When exporting to HTML, each two consequent spaces in a run are treated as . However, when a style is applied to one of the spaces, the span is split and the two spaces are not considered as a pair, therefore, the HtmlFormatProvider exports them as normal spaces. When the two spaces are the whole content of a paragraph, this paragraph is not visible when the HTML is visualized in a browser.
Currently list styles cannot be removed from the document model.
There is no command or API in the editor for deleting paragraph, but there is such for, for example, deleting table.
ArgumentOutOfRangeException is thrown when replacing all (Replace All button is clicked from the FindReplace dialog) occurrences of given text if the replace text is with smaller length than the searched text. For example if we have the following text written in the RadRichTextBox: "Some Text" and we want to replace all occurrences of "Some Tex" with "AA" (open find and replace dialog and click ReplaceAll button), the exception occurs Workaround: Change the FindReplaceDialog with a custom one (see how in this SDK demo - https://github.com/telerik/xaml-sdk/tree/master/RichTextBox/CustomFindReplaceDialog ). In the new custom dialog, buttonReplaceAll_Click event handler, change the initialization of the 'startFindPosition' variable to be in the body of the while loop. Available in LIB Version 20181.205.
When a table is the only content in a document and is copy/pasted, it is inserted in the copied table as nested. The issue is observed only when the table is the only content in the table. It is not observed when an empty paragraph is available before the table or any spacing is inserted after the table. To workaround the issue, the selected table could be deleted before pasting.
Watermark is drawn for each page in the RadDocument. When the watermark is a larger image, an OutOfMemoryException might occur during export to PDF. The same applies for images in header/footer.
In MS Word, the users can change the background color of the page.
A 'w:background' property is applied to the whole document in DOCX, and this property is used as a page color in Paged layout mode, and as a background color in Web layout mode.
When implementing, think of whether RadRichTextBox.Background should be synchronized with this property when RadRichTextBox.DocumentInheritsDefaultStyleSettings is true.
Workaround: Currently, background could be set using RadRichTextBox.Background property in Web layout mode, and using a custom style, as described in When the LayoutMode is Paged the Background forum thread, in Paged layout mode.
Stretching the text is done by modifying the Scale Property of the Character Spacing properties. In the Office Open XML specification, it is represented by the <w:w w:val="300"/> tag.
The case "margin: 0px" is imported only as margin-top. This results in spacing-after property of the paragraph to have an incorrect value. There is a possible workaround if you have control over the construction of the HTML. Change the "margin: 0px" to "margin: 0px 0px 0px 0px"