These tags define deleted and inserted content to markup updates and modifications in a document. They can be used to export the revisions of a document when Track Changes is enabled.
List items with <li style="list-style-type:disc"> are not imported from HTML. The style works fine when it is added in the parent <ul> element. This behavior also breaks the copy/paste functionality when user copies bullet lists from a Google Document.
In Word and WordPad when hitting Ctrl+Down Arrow the cursor moves to the start of the next paragraph, until the last paragraph in the document where it moves to the end of the document. In Telerik editor it moves to the end of the paragraph. Steps to reproduce: - Load a document with multiple lines of text - Click near the top of the document and hit Ctrl+Down repeatedly Expected: The cursor moves down one paragraph at a time with the cursor at the start of the paragraph Actual: The cursor moves down one paragraph at a time with the cursor at the end of the paragraph Fix available in LIB Version 2017.3.1218.
Currently, blockquote tags are imported as paragraphs. Change the mechanism so they can be imported as citations.
Mail merge is not working for the first record in the items source when the items source is IEnumerable with deferred execution. Workaround: convert the collection to list.
The content of a page can be aligned vertically. In DOCX, this is a property of the section and is defined with the vAlign element. <w:sectPr> … <w:vAlign w:val="center" /> </w:sectPr>
Implement support for the SET field.
"Win32Exception (0x80004005): Not enough storage is available to process this command" is thrown when multiple RadDocument instances are created in background threads. This is due to the fact that RadDocument contains MailMergeDataSource object, which is DependencyObject. When multiple dependency objects are created in different threads, they are not property freed by thread's Dispatcher. Workaround 1: Microsoft provided workaround in a bug report here: https://connect.microsoft.com/VisualStudio/feedback/details/620588/system-componentmodel-win32exception-0x80004005-not-enough-storage-is-available-to-process-this-command , namely: ------------------------------ Put the following code: Dispatcher dispatcher = Dispatcher.CurrentDispatcher; dispatcher.BeginInvokeShutdown(DispatcherPriority.Normal); Dispatcher.Run(); anywhere in the background thread processing the RadDocument. ----------------------------- Workaround 2: Use pooling of the used threads. The problem is that Task Parallel Library (which has built-in pooling) does not use STA threads by default, but this can be achieved by using custom TaskScheduler (attached, the code is get from here: https://code.msdn.microsoft.com/ParExtSamples ): var parallelOptions = new ParallelOptions() { TaskScheduler = new StaTaskScheduler(Environment.ProcessorCount) }; Parallel.For(0, 10000, parallelOptions, cc => { var document = new DocxFormatProvider().Import(data); byte[] pdfBytes = new PdfFormatProvider().Export(document); };
Using Microsoft Pinyin IME for typing in the RichTextBox causes FatalExecutionEngineError exception.
The content of the table cells seems to be rendered in the correct position while the borders are drawn above the continues section break.
RichTextBox interprets the div tag by adding a new line upon its closing. However, when the content of the div tag is a br tag, the whole combination should be treated as one new line.
At the moment the table properties, including table, table row and table cell properties don't have size validation, i.e. it is possible to set them to negative or zero values. Validation should be added where necessary.
Certain documents containing a table with a cell spanning on more than one row might cause the application to hang and throw OutOfMemoryException. Workaround: Set SpacingAfter = 0 of the last paragraph in the table.
Add the following code to an application with a RadRichTextBox in it: for (var i = 0; i < 1000; i++) { var doc = radRichTextBox.Document.CreateDeepCopy(); } If your document does not contain any lists it behaves as expected: memory usage increases until the next GC when it is collected. If there are lists in your document the RadDocument instances created by CreateDeepCopy are never collected and your app will run out of memory. Fix available in LIB Version 2018.3.1029.
Implement import and export of OpenDocument files (.odt).
First Scenario: During layout of specific documents where the first section is with Continuous section break type, the layout algorithm enters in an infinite loop causing the application to hang.
document.Sections.First.PreviousSectionBreakType = SectionBreakType.NextPage;
Size pagesize = radDocument.Sections.Last.PageSize;
radDocument.Sections.Last.PageSize = new Size(pagesize.Width - 0.001, pagesize.Height - 0.001);
When the user copy-pastes an image from Outlook, it is pasted as an IncludePictureField and visualized as expected. The field code looks like
{INCLUDEPICTURE :image001.png@01D15D16.4FAF0970 \* MERGEFORMATINET}
However, when the fields in the document are updated, the image is no longer shown because of its invalid Uri. In MS Word, when you paste the image, it is directly inserted as image and the field is skipped.
Workaround - remove the field start/ends (in the attachments)
In MS Word, there is an option to show gridlines over the pages of the document. Implement such an option in RadRichTextBox as well.
Workaround: The attached project offers a simple custom implementation.