ParagraphMarkerProperties of a Paragraph element are not cloned and this leads to incorrect list numbering (bullets) rendering after export since the numbering styles (bullets, numbers and etc.) copy the style properties from there. This affects Clone() method of the Paragraph and ergo RadFlowDocumentEditor.InsertDocument() method and DocumentElementImporter.Import() methods since they're using Clone() method internally.
The document default style properties are not cloned on document.Clone(). There is a workaround by using the following code: var cloning = this.document.Clone(); ClearPropertiesWithoutValueAndSetLocalValues(this.document.DefaultStyle.CharacterProperties, cloning.DefaultStyle.CharacterProperties); ClearPropertiesWithoutValueAndSetLocalValues(this.document.DefaultStyle.ParagraphProperties, cloning.DefaultStyle.ParagraphProperties); private void ClearPropertiesWithoutValueAndSetLocalValues(DocumentElementPropertiesBase propertiesFrom, DocumentElementPropertiesBase propertiesTo) { foreach (var stylePropertyFrom in propertiesFrom.StyleProperties) { var stylePropertyTo = propertiesTo.GetStyleProperty(stylePropertyFrom.PropertyDefinition); stylePropertyTo.ClearValue(); if (stylePropertyFrom.HasLocalValue) { object value = stylePropertyTo.GetLocalValueAsObject(); stylePropertyTo.SetValueAsObject(value); } } }
When document model contains styles with names containing characters which usage is not valid in CSS (e.g. '['), those characters must be escaped. Currently HTML documents containing invalid CSS are produced.
Currently tabs are always exported to HTML using two -s. But tabs could have different length depending on Paragraph's tab stops and document's default tab stop width.
KeyNotFoundException is thrown when importing RTF document where single font info is not declared in group, for example the following RTF doesn't work: {\rtf1\ansi\ansicpg1250\deff0{\fonttbl\f0\fswiss Helvetica;}\f0\pard test\par} while the following works: {\rtf1\ansi\ansicpg1250\deff0{\fonttbl{\f0\fswiss Helvetica;}}\f0\pard test \par} This is valid according to RTF specification, which allows omission of the group when only: <fonttbl> '{' \fonttbl (<fontinfo> | ('{' <fontinfo> '}'))+ '}'
When a document produced with WordsProcessing is validated with OpenXML Validator from OpenXML SDK, errors are found. While documents are valid according to the specification, Open XML SDK Validation shows errors related to the order of elements, etc. Resolve all errors, so DOCX documents pass validation.
Bookmark starts and ends that are not the child of a paragraph or table cannot be imported.
When the indentation of a paragraph is coming from a list, the RTF format provider applies them to the paragraph as local properties. This affects all conversions of documents containing lists from RTF to HTML. Workaround: After importing the document check if the indentation of the paragraph is the same as the one coming from the list. Here is example on how this could be done: RtfFormatProvider provider = new RtfFormatProvider(); RadFlowDocument document = provider.Import(stream); foreach (Paragraph paragraph in document.EnumerateChildrenOfType<Paragraph>()) { List list = this.document.Lists.GetList(paragraph.ListId); if (paragraph.Indentation.HangingIndent == list.Levels[0].ParagraphProperties.HangingIndent.LocalValue) { paragraph.Indentation.HangingIndent = Paragraph.HangingIndentPropertyDefinition.DefaultValue.Value; } if (paragraph.Indentation.FirstLineIndent == list.Levels[0].ParagraphProperties.FirstLineIndent.LocalValue) { paragraph.Indentation.FirstLineIndent = Paragraph.FirstLineIndentPropertyDefinition.DefaultValue.Value; } }
It would be nice to have the ability to search text in documents. Use case: I needed to replace some keywords with images. I can insert image at the current position, but there is no way to insert it after some text.
Exporting to PDF of a table with a first cell having preferred width of 100% and a second cell having preferred width of auto will result in missing the second cell.
Table's layout type is imported as FixedWidth when it should be imported as AutoFit. The following RTF tags are not respected: trftsWidthN trwWidthBN trftsWidthBN trwWidthAN trftsWidthAN trwWidthtrftsWidthN
Add Borders property for a Run element and in CharacterProperties. The same is implemented for Paragraph, but in OOXML it could be applied over a Run element as well.
The item is duplicated. Please, follow the item at https://feedback.telerik.com/Project/184/Feedback/Details/203066
When list level items are empty - <li></li> - they are not imported as empty paragraphs in list. The expected is that a Paragraph, associated to a list to be imported.
In MS Word, decimal tab stops affect paragraph layout in table cells even if tab character is not present. The reasoning is that it's hard to insert tab symbol in table cell, as pressing Tab navigates to the next cell (Ctrl+Tab should be used). When decimal tab stop is present for a Paragraph, and the paragraph is in a TableCell, the content of the paragraph should be aligned to the decimal tab stop (analogically to the case when the Paragraph is not in a table cell and it contains tab character.
All character formatting (font size, font family, etc.) applied to empty cell is lost when: - document with such formatting applied is exported to RTF - document with such formatting is imported from RTF.