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: 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.
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: 17 May 2024 07:49 by Vyacheslav
Unplanned
Last Updated: 16 May 2024 13:28 by ADMIN
ADMIN
Created by: Tanya
Comments: 2
Category: WordsProcessing
Type: Feature Request
1
Add support for importing the text values of the input element. They could be imported as a simple text to preserve the content.
Completed
Last Updated: 16 May 2024 10:42 by ADMIN
Created by: IGNACIO
Comments: 0
Category: WordsProcessing
Type: Feature Request
1
The AlternateContent element is used to store content which is not defined by the specification.
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.
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.
Completed
Last Updated: 15 May 2024 06:27 by ADMIN
Release 2024.2.426 (2024 Q2)
The text in the footer remains under the image while drawing the PDF content.
Unplanned
Last Updated: 26 Apr 2024 14:16 by Xiao

This is the code snippet that reproduces the error:

            RadFlowDocument flowDocument = new RadFlowDocument();
            RadFlowDocumentEditor editor = new RadFlowDocumentEditor(flowDocument);
            Bookmark bookmark = new Bookmark(flowDocument, "Name");
            editor.InsertInline(bookmark.BookmarkRangeStart);

            Table table = editor.InsertTable(1, 2);
            TableCell cell1 = table.Rows[0].Cells[0];
            Paragraph cell_paragraph1 = cell1.Blocks.AddParagraph();
            editor.MoveToParagraphStart(cell_paragraph1);
            editor.InsertText("cell content 01");

            TableCell cell2 = table.Rows[0].Cells[1];
            Paragraph cell_paragraph2 = cell2.Blocks.AddParagraph();
            editor.MoveToParagraphStart(cell_paragraph2);
            editor.InsertText("cell content 02");

            editor.MoveToTableEnd(table);
            editor.InsertInline(bookmark.BookmarkRangeEnd); 

            RadFlowDocument newFlowDocument = new RadFlowDocument();
            RadFlowDocumentEditor editor02 = new RadFlowDocumentEditor(newFlowDocument);
            editor.InsertDocument(flowDocument);

Workaround: Insert one bookmark before the table and another one after the table: 

            RadFlowDocument flowDocument = new RadFlowDocument();
            RadFlowDocumentEditor editor = new RadFlowDocumentEditor(flowDocument);
            //Bookmark bookmark = new Bookmark(flowDocument, "Name");
            //editor.InsertInline(bookmark.BookmarkRangeStart);

            editor.InsertBookmark("before");

            Table table = editor.InsertTable(1, 2);
            TableCell cell1 = table.Rows[0].Cells[0];
            Paragraph cell_paragraph1 = cell1.Blocks.AddParagraph();
            editor.MoveToParagraphStart(cell_paragraph1);
            editor.InsertText("cell content 01");

            TableCell cell2 = table.Rows[0].Cells[1];
            Paragraph cell_paragraph2 = cell2.Blocks.AddParagraph();
            editor.MoveToParagraphStart(cell_paragraph2);
            editor.InsertText("cell content 02");

            editor.MoveToTableEnd(table);

            editor.InsertBookmark("after");

            //editor.InsertInline(bookmark.BookmarkRangeEnd); 

            RadFlowDocument newFlowDocument = new RadFlowDocument();
            RadFlowDocumentEditor editor02 = new RadFlowDocumentEditor(newFlowDocument);
            editor.InsertDocument(flowDocument);

 

 

Unplanned
Last Updated: 17 Apr 2024 12:39 by Nathan
Created by: Nathan
Comments: 0
Category: WordsProcessing
Type: Bug Report
1
PdfFormatProvider: TOC entries are blue.
Unplanned
Last Updated: 17 Apr 2024 12:31 by Nathan
TOC list numbering and page numbering are missing.
Unplanned
Last Updated: 17 Apr 2024 12:18 by Nathan
PdfFormatProvider: TOC page numbering is in Roman instead of Arabic numerals.
Unplanned
Last Updated: 17 Apr 2024 11:56 by Nathan
Calculate TOC page numbering based on page number fields.
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: 10 Apr 2024 14:50 by Daniel
The TOC should include the numbers of headings with a list level.
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.

Duplicated
Last Updated: 03 Apr 2024 11:24 by ADMIN

Converting some DocX files to PDF format with page numbering leads to incorrect formatting in the exported PDF:

Input DocX:

Output PDF:

 

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: 21 Mar 2024 05:53 by ADMIN
Release 2024.1.305 (2024 Q1)

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;
}