Currently, exporting to HTML serializes the containers by exporting them to XAML and adding them in a comment in the HTML. There are InlineUIContainerImporting and InlineUIContainerImported events, but the Handled property of the importing event arguments is read-only. This prevents users from creating their own serialization/deserialization logic. Steps to reproduce: 1. Subscribe to events of the format provider: HtmlFormatProvider prov = DocumentFormatProvidersManager.GetProviderByExtension("html") as HtmlFormatProvider; prov.ExportSettings.InlineUIContainerExporting += ExportSettings_InlineUIContainerExporting; prov.ImportSettings.InlineUIContainerImporting += ImportSettings_InlineUIContainerImporting; prov.ImportSettings.InlineUIContainerImported += ImportSettings_InlineUIContainerImported; 2. Insert inline UI container in the document and export it to HTML. InlineUIContainerExporting event is raised and you can set the CommentContent property of the args to custom value. 3. Import the document back in the control Expected: It should be possible to set the Handled property of the importing event args to true, and assign your desired value to the InlineUIContainer property. Actual: InlineUIContainerImporting event is raised, but all properties of the event arguments have private setters.
When document is Web layout mode (LayoutMode = Flow), table with LayoutMode = AutoFit is exported to RTF with wrong column widths. MS Word visualize such table splashed, and WordPad extremely large. Workaround: Performing layout on the document in Paged layout mode seems to fix the issue: var doc = new XamlFormatProvider().Import(file); doc.LayoutMode = Telerik.Windows.Documents.Model.DocumentLayoutMode.Paged; doc.EnsureDocumentMeasuredAndArranged(); doc.LayoutMode = Telerik.Windows.Documents.Model.DocumentLayoutMode.Flow;
When the 'font-family' CSS attribute's value contains Chinese, Japanese or Korean symbols, the HTML parser could not parse them correctly, and the applied font families are skipped. As a result, the text is imported with Arial font. Steps to reproduce: - Register the following font "HGS明朝B": FontFamily myCustomFont = new FontFamily("HGS明朝B"); FontManager.RegisterFont(myCustomFont); - Write some text and apply the font over the text. - Export to HTML. - Import the HTML. Expected: the text should be with the HGS明朝B font family. Actual: the text is with Arial font family
When a document with table of contents is exported to HTML, the fore color, alignment of the page numbers are not respected; the tab leader is missing and the entries are underlined as hyperlinks.
The problem occurs in specific situations when a list depends on a style that hasn't been added to the fragment in the clipboard yet. Workaround: Replace the fragment in the clipboard with one that is already "fixed", as in the attached MainWindow.cs.txt
In MS Word the user could add different effects to the selected text. This could be done through Font -> Text Effects... button.
In HTML the width of the columns in a table could be set as proportions of the remaining free space using width="3*" Example: <TABLE> <COLGROUP> <COL width="30"> <COLGROUP> <COL width="30"> <COL width="0*"> <COL width="2*"> <COLGROUP> <COL width="1*"> <COL width="3*"> <THEAD> <TR><TD> ... ...rows... </TABLE> First the user agent will allot 30 pixels to columns one and two. Then, the minimal space required for the third column will be reserved. The remaining horizontal space will be divided into six equal portions (since 2* + 1* + 3* = 6 portions). Column four (2*) will receive two of these portions, column five (1*) will receive one, and column six (3*) will receive three. Note: This is not supported even by MS Word.
If a document with default tab stops width 0 or imported or the value is set from the UI, measuring the document when it contains a tab causes an InvalidOperationException with message "MeasureOverride returned Nan". Workaround: If the case is importing a document, change the default tab stop width to value which is not 0. if (document.DefaultTabWidth == 0) { // set this to large number if there are performance problems, e.g. 0.5. document.DefaultTabWidth = 0.01; } Steps to reproduce: 1. Load RadRichTextBox and add text in it. 2. Change default tab stops value from the Paragraph Properties Dialog -> Tabs Dialog to 0'' 3. Add a tab to the paragraph. Observed: InvalidOperationException with message "MeasureOverride returned NaN" is thrown. Fix available in LIB Version 2017.3.1120.
Selection geometry is not rectangular when the selection contains paragraphs with specific fonts and indents, e.g. two empty paragraphs with with font family Georgia and the second one having First Line Indent = 6 px. Steps to reproduce: - Add 3 empty paragraphs - Select the first 2 and apply font family Georgia - Apply First line indent of 6 px to the second paragraph - Select all Expected: The selection geometry should be rectangular. Actual: The selection geometry is not a rectangle.
When a table with PreferredWidth=Auto and fixed columns width is inserted in another table's cell with the same settings, the inserted table changes the width of the other table.
Documents that are protected using WordsProcessing could be protected using SHA256, SHA512 and SHA384 algorithms. However these algorithms are currently not supported by RichTextBox. Thus, a document protected via WordsProcessing could not be unprotected in RadRichTextBox and NotSupportedException is thrown. Add support for these three algorithms. Documents protected in MS Word 2013 could not be unprotected in RRTB as well. Exception thrown: Unsupported hashing algorithm: SHA512.
When a table is auto fitted its cells are exported with incorrect width value. An additional requirement is the cells to not have any preferred width (NULL). This problem will occur only if the document is converted directly from one format to another. Possible workaround is to apply auto preferred width to all cells in that table.
The table width value is exported with different decimal separator depending on the used culture. One the problem is fixed the width value should be exported with invariant culture.
Hyperlink without any navigational information will crash the application with NullReferenceException when showing it.
The flow direction of a paragraph is automatically changed to right-to-left if all spans in the paragraph are in the right-to-left mode when importing from DOCX format.
Introduce Split Table Command.
In MS Word, the command is in Table Tools -> Layout -> Merge -> Split table.
Workaround: Use the RadDocumentEditor API to split the table:
var tableRowBox = this.radRichTextBox.Document.CaretPosition.GetCurrentTableRowBox();
if (tableRowBox != null)
{
this.radRichTextBox.BeginUndoGroup();
this.radRichTextBox.Document.Selection.Clear();
var currentRow = tableRowBox.AssociatedTableRow;
DocumentPosition start = new DocumentPosition(currentRow.GetRootDocument());
start.MoveToStartOfDocumentElement(currentRow);
DocumentPosition end = new DocumentPosition(start);
end.MoveToEndOfDocumentElement(currentRow.Table.Rows.Last);
this.radRichTextBox.Document.Selection.SetSelectionStart(start);
this.radRichTextBox.Document.Selection.AddSelectionEnd(end);
this.radRichTextBox.Cut();
this.radRichTextBox.InsertParagraph();
this.radRichTextBox.Paste();
this.radRichTextBox.EndUndoGroup("Split table");
}
Pressing Enter in the first empty cell in the second table of two adjoined tables adds the paragraph between the tables. Instead, the paragraph should be added in the cell. Steps to reproduce: - Add two tables. - Remove the paragraph between them (using the Delete key). - Add paragraph in the first cell of the second table. Expected: The paragraph is added in the cell. Actual: The tables are separated by paragraph.
Inserting a single-cell table with top border is a common workaround for the missing 'horizontal line' functionality. Exporting such table to PDF causes wrong result if the intercepting vertical borders are of type None and have smaller thickness. Attached image outlines the issue. Workaround: Set the same thickness to the noBorder and to the visible border: var t = new Telerik.Windows.Documents.Model.Table(1, 1);\ var noBorder = new Telerik.Windows.Documents.Model.Border(3, BorderStyle.None, Colors.Black); t.Borders = new TableBorders(noBorder, new Telerik.Windows.Documents.Model.Border(3, BorderStyle.Single, Colors.Black), noBorder, noBorder); Steps to reproduce: 1. Insert table with the following code: var t = new Telerik.Windows.Documents.Model.Table(1, 1); var noBorder = new Telerik.Windows.Documents.Model.Border(BorderStyle.None); t.Borders = new TableBorders(noBorder, new Telerik.Windows.Documents.Model.Border(3, BorderStyle.Single, Colors.Black), noBorder, noBorder); this.radRichTextBox.InsertTable(t); 2. Export to PDF
If there is sequence with more than one font info which is not declared in a separate group, they all are concatenated and recorded in the imported fonts as a single one with id from the last one. Here is such a problematic font table group: {\\fonttbl\\f0\\froman\\fcharset0 Times New Roman;\\f1\\froman\\fcharset0 Times New Roman;\\f2\\froman\\fcharset0 Times New Roman;\\f3\\froman\\fcharset0 Times New Roman;\\f4\\froman\\fcharset0 Times New Roman;\\f5\\froman\\fcharset0 Times New Roman;}
FloatingUIContainers are not cleared from the UI when they are deleted. Workaround: Recreate UI using the following code: this.radRichTextBox.ActiveEditorPresenter.RecreateUI();