This is done due to wrong column widths weights calculations.
The tblGrid property should be exported in order to visualize properly the documents in some viewers. For example, LibreOffice doesn't visualize properly tables without specified width.
According to the OOXML specification the shading color can be defined only in RRGGBB hex color, but MS Word also supports colors defined with their names - e.g. "Red".
The font size in the table does not respect the CSS for the corresponding class. There is similar issue with <li /> element.
'thead' HTML element represents table row that should be repeated at the top of each page. MS Word maps this to TableRow with RepeatOnEveryPage set to true. This works for both export and import.
Paragraph with a negative left indent and positioned in the header or footer gets clipped when exported to PDF. The same behavior is also observed for paragraphs in tables. Instead, the paragraph should be rendered without clipping.
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.