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> '}'))+ '}'
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.
Page breaks can be exported and subsequently imported using the "page-break-before: always; " property set of some elements.
Introduce support for break-[before/after] and page-break-[before/after].This can eventually be extended to support "page-break-before: avoid" to preserve the value of the Paragraph.KeepWithNextParagraph property.
Attached to this item is a sample project demonstrating how an HTML file is imported into a RadFlowDocument, the custom page break string are replaced with Break elements of type PageBreak and then the RadFlowDocument is exported to PDF and DOCX files.
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.
Styled text in a list item <li> is imported as a different paragraph. The result is split of the text into multiple paragraphs which are not in a list. The issue could be observed only when the text is written as a direct content of the <li> element. If it is in a <p> element the paragraph is imported correctly (it is not split). For example: problematic html (the paragraph will be split) - <li>An appointment may create any provisions <strong>and</strong> in particular: </li> non-problematic html (the paragraph will be imported as it should) - <li><p>An appointment may create any provisions <strong>and</strong> in particular: <p></li>
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); } } }
Add support for shapes, and especially for shapes with textual content. In OOXML, shapes are represented by the wps:wsp element, and shapes with textual content by <wps:txbx>, <w:txbxContent>. Such shape can be added to a Word document using the Insert -> Text -> Text Box -> Draw Text Box, or through a shape's context menu -> Add Text. Do not confuse these shapes with Text/Rich Text content controls (see https://feedback.telerik.com/Project/184/Feedback/Details/190057 )
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.
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.
Enable the customers to work with .doc files.
When the last element in a table cell is an empty paragraph, the latter is skipped and not imported. It should be imported even if it's the only paragraph in the cell, as its properties could affect the layout and presentation (borders, colors, spacings).
'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.
The font size in the table does not respect the CSS for the corresponding class. There is similar issue with <li /> element.
If the value from the source contains new lines, they should be inserted in the resulting documents as new paragraphs.
Workaround: Copy the default styles after the Mail Merge RadFlowDocument merged = sourceDocument.MailMerge(mailMergeSource); merged.DefaultStyle.ParagraphProperties.CopyPropertiesFrom(sourceDocument.DefaultStyle.ParagraphProperties); merged.DefaultStyle.CharacterProperties.CopyPropertiesFrom(sourceDocument.DefaultStyle.CharacterProperties);
The AltChunk element is responsible for embedding external content into documents.
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".
Table and table cell borders are not evaluated according to inheritance and conflict resolution rules. A conflict will occur when different borders from the table and table cell are overlapping. The GetActualValue method of the TableBorders and TableCellBorders could potentially return an incorrect value in some of the following scenarios: Scenario 1: A table has cell spacing set to 0. Meaning that the table and table cell borders will overlap. The table borders have defined all of its borders with border style "Single". The table cell borders have all of its borders defined with border style "None". Expected result: the resulting borders should have the border style set to "None" for the location where the table and the cell borders are overlapping. Scenario 2: A table has explicitly defined that its right border is with border style "None". The table has a table style applied with defined border style of type "Single" for all table borders. Expected result: All of the table borders except the right border should have border style of "Single". The problem is mostly visible when exporting to PDF and RTF format.