Handle import of documents with self-referring styles.
As a workaround, you can go through the RTF document structure of a single file and utilize Regex to resolve the self-referring styles like this:
string rtf = File.ReadAllText("inputFile.rtf");
rtf = FixSelfReferringStyles(rtf);
Telerik.Windows.Documents.Flow.FormatProviders.Rtf.RtfFormatProvider provider = new Telerik.Windows.Documents.Flow.FormatProviders.Rtf.RtfFormatProvider();
var document = provider.Import(rtf);
...
private static string FixSelfReferringStyles(string rtf)
{
string regexString = @"{\\s([0-9]+)[^}]*\\slink([0-9]+)";
var matches = Regex.Matches(rtf, regexString);
foreach (Match match in matches)
{
if (match.Groups[1].Value == match.Groups[2].Value)
{
var oldValue = match.Groups[0].Value;
var newValue = oldValue.Replace(@" \slink" + match.Groups[1].Value, string.Empty);
rtf = rtf.Replace(oldValue, newValue);
}
}
return rtf;
}
Workaround:
var fieldInfo = editor.InsertField("TOC");
fieldInfo.UpdateField();
fieldInfo.IsDirty = true;Merging (with RadFlowDocumentEditor's InsertDocument method) documents containing lists sometimes doesn't properly resolve the ListId properties.
Workaround: Removing the list with bullets resolves the issue as there is only one ListId to pick from:
document.Lists.Remove(1);
When there is a document (e.g. docx) with hanging indent in a list and this document is imported and then exported to HTML, the text overlaps the bullet as shown in the screenshot.
Importing a document containing a hyperlink (<a>) tag without content extends it over the trailing elements.
For example, importing this HTML:
<a></a>
<p>First paragraph</p>
<p>Second paragraph</p>
<p>Third paragraph</p>Generates:
Instead of this:
Indent of BodyTextIndent style applied to a paragraph is not respected on export.
Workaround: Remove the applied style.
var p = run.Paragraph;
p.Properties.StyleId = string.Empty;
List's top and bottom margins are not correctly exported.
Workaround: Apply TelerikNormal style to the 'ol' element.
Import/Export of specific documents sets style background color to black.
Workaround: do the following conversion of the document with the Document Processing libraries: originalRtf -> exportedDocx, exportedDocx -> finalRtf. After that processing, the finalRTF file will no longer reproduce the issue when exported.