Completed
Last Updated: 14 Mar 2024 08:59 by ADMIN
Release 2024.1.305 (2024 Q1)

StackOverflowException when importing a document with style based on itself.

Use the following code to strip the faulty "based on" definition from the RTF:

RtfFormatProvider provider = new RtfFormatProvider();
var rtf = File.ReadAllText(ofd.FileName);
rtf = this.ReplaceSelfBasedOnStyle(rtf);
this.flowDocument = provider.Import(rtf);

...

private string ReplaceSelfBasedOnStyle(string rtf)
{
    string pattern = @"{[\n]*\\s[0-9]+[^;]* \\\w* (Normal);}";

    var matches = Regex.Matches(rtf, pattern);
    foreach (Match match in matches)
    {
        string oldValue = match.Value;
        string newValue = oldValue.Replace(@"\sbasedon0 ", string.Empty);

        rtf = rtf.Replace(oldValue, newValue);
    }

    return rtf;
}

Completed
Last Updated: 21 Mar 2024 05:53 by ADMIN
Release 2024.1.305 (2024 Q1)

Styles with names only different in spaces are treated as one.

Workaround:

var rtf = File.ReadAllText(fileName);
rtf = this.RenameStyleDifferentInOnlySpaces(rtf);
var document = provider.Import(rtf);

...

private string RenameStyleDifferentInOnlySpaces(string rtf)
{
    HashSet<string> styles = new HashSet<string>();

    string pattern = @"{\\(?:\*\\c)?s([0-9]+)[^}]*\n?[^}]*\\[^' ]* ?'?([^;]*)";

    var matches = Regex.Matches(rtf, pattern);
    foreach (Match match in matches)
    {
        string styleName = match.Groups[2].Value.Replace(" ", string.Empty);
        if (styles.Contains(styleName))
        {
            styleName = this.ReplaceOldStyleName(ref rtf, styles, match).Replace(" ", string.Empty);
        }

        styles.Add(styleName);
    }

    return rtf;
}

private string ReplaceOldStyleName(ref string rtf, HashSet<string> styles, Match match)
{
    string oldStyleName = match.Groups[2].Value;
    StringBuilder styleNameBuilder = new StringBuilder(oldStyleName + "0");
    while (styles.Contains(styleNameBuilder.ToString().Replace(" ", string.Empty)))
    {
        styleNameBuilder.Append("0");
    }

    string oldMatch = match.Groups[0].Value;
    string newMatch = oldMatch.Replace(oldStyleName, styleNameBuilder.ToString());
    rtf = rtf.Replace(oldMatch, newMatch);
    return styleNameBuilder.ToString();
}

Unplanned
Last Updated: 12 Feb 2024 10:56 by Uwe

PdfFormatProvider: Tab stop distance different from the default is not exported correctly.

Workaround: Use spaces instead.

Unplanned
Last Updated: 12 Feb 2024 11:36 by Joshua
DocxFormatProvider: Persist run properties (rPr) for the start of FieldCharacter.
Unplanned
Last Updated: 21 Feb 2024 10:23 by n/a
PdfFormatProvider: Endless loop when exporting a document with specific floating image.
Unplanned
Last Updated: 23 Feb 2024 14:19 by RainMaker
Created by: RainMaker
Comments: 0
Category: WordsProcessing
Type: Feature Request
0
Unplanned
Last Updated: 02 Apr 2024 13:27 by Graeme

Original DOCX document:

Exported DOCX document:

Workaround:

            Telerik.Windows.Documents.Flow.Model.RadFlowDocument document;

            Telerik.Windows.Documents.Flow.FormatProviders.Docx.DocxFormatProvider docXprovider = new Telerik.Windows.Documents.Flow.FormatProviders.Docx.DocxFormatProvider();

            using (Stream input = File.OpenRead("PT1987 VU22888 Moodle Specification List [2024032716].docx"))
            {
                document = docXprovider.Import(input);
            }

            string normalStyleId = BuiltInStyleNames.NormalStyleId;
            Style normalStyle = document.StyleRepository.AddBuiltInStyle(normalStyleId);
            normalStyle.ParagraphProperties.SpacingAfter.LocalValue = 0;
            normalStyle.ParagraphProperties.LineSpacing.LocalValue = 1;

Completed
Last Updated: 15 May 2024 06:27 by ADMIN
Release 2024.2.426 (2024 Q2)
NullReferenceException caused by a Hyperlink Field during nested Mail Merge.
Unplanned
Last Updated: 10 Apr 2024 14:03 by Benjamin

Use the code for inserting the code:

        static void Main(string[] args)
        {
                      Telerik.Windows.Documents.Flow.Model.RadFlowDocument templateDocument = GetDocument("Template.rtf");
            Telerik.Windows.Documents.Flow.Model.RadFlowDocument contentDocument = GetDocument("Content.rtf");
            InsertDocumentOptions options = new InsertDocumentOptions();
            options.ConflictingStylesResolutionMode = ConflictingStylesResolutionMode.RenameSourceStyle;
            options.InsertLastParagraphMarker = true;

            RadFlowDocumentEditor editor = new RadFlowDocumentEditor(templateDocument);
            editor.InsertDocument(contentDocument, options);

            string mergedDocumentFilePath ="MergeDocumentsWithWordsProcessing.rtf";
            File.Delete(mergedDocumentFilePath);
            WriteDocToFile(templateDocument, mergedDocumentFilePath);

        }
        private static Telerik.Windows.Documents.Flow.Model.RadFlowDocument GetDocument(string rtfFilePath)
        {
            Telerik.Windows.Documents.Flow.Model.RadFlowDocument document = null;
            var rtfImporter = new Telerik.Windows.Documents.Flow.FormatProviders.Rtf.RtfFormatProvider();
            using (Stream stream = File.OpenRead(rtfFilePath))
            {
                document = rtfImporter.Import(stream);
            }
            return document;
        }


        private static void WriteDocToFile(Telerik.Windows.Documents.Flow.Model.RadFlowDocument doc, string filename)
        {
            var rtfExporter = new Telerik.Windows.Documents.Flow.FormatProviders.Rtf.RtfFormatProvider();
            string rtfText = rtfExporter.Export(doc);
            File.WriteAllText(filename, rtfText);

            Process.Start(filename);
        }

Observed result: The After spacing is reset

Expected result: keep the style settings from the original documents.

Unplanned
Last Updated: 15 Apr 2024 13:10 by Belma
Created by: Belma
Comments: 0
Category: WordsProcessing
Type: Bug Report
0
Outline color of some shapes is not respected.
Unplanned
Last Updated: 15 May 2024 16:13 by Anu
When HTML content is inserted, the formatting is lost if the HTML contains 3 tables in it. However, it is OK if the HTML contains 2 tables only.
Unplanned
Last Updated: 17 May 2024 07:49 by Vyacheslav
Unplanned
Last Updated: 17 May 2024 08:29 by Vyacheslav
Unplanned
Last Updated: 28 May 2024 10:20 by Anu

The generated document looks OK before printing:

However, hitting the print preview button in MS Words leads to missing text in the fields:

Unplanned
Last Updated: 05 Jun 2024 15:01 by Thomas
When the document contains a big image that almost doesn't fit on the page and it is followed by an empty paragraph to generate a blank page with the footer in the DOCX file leads to losing the empty page in the exported PDF.
Completed
Last Updated: 02 Aug 2024 11:08 by ADMIN
Release 2024.3.802 (2024 Q3)

When importing a RTF document with bullet lists and exporting the RadFlowDocument back to RTF format the following result is observed:

- the bullet's left offset is changed

- the bullets color is also changed

Workaround: use the Telerik.Windows.Documents.FormatProviders.Rtf.RtfFormatProvider available in the Telerik.Windows.Documents.FormatProviders.Rtf.dll

Unplanned
Last Updated: 28 Jun 2024 14:53 by Anu

When a document with multiple headings ( Heading 1) are imported and then exported, their type from letters is changed to numbers, for example:

Original content: Part A, Part B, Part C

Exported content: Part 1, Part 2, Part 3

Unplanned
Last Updated: 12 Jul 2024 14:51 by Akesh Gupta

Restrict the TableCellProperties API of a style according to specification.

Unplanned
Last Updated: 23 Jul 2024 10:20 by RV
Created by: RV
Comments: 0
Category: WordsProcessing
Type: Feature Request
0