Completed
Last Updated: 01 Jul 2019 07:14 by ADMIN
Release LIB 2019.2.701 (07/01/2019)
When DefaultTabStopWidth of the document is zero, the export to PDF leads to infinite loop which causes the application to freeze.

Workaround
Set the DefaultTabStopWidth with non-zero value:
document.DefaultTabStopWidth = 0.1;
Unplanned
Last Updated: 27 Jun 2019 11:59 by ADMIN
ADMIN
Created by: Georgi
Comments: 2
Category: WordsProcessing
Type: Feature Request
5
Implement support for pictures with references represented with the r:link attribute in the schema.
Unplanned
Last Updated: 19 Jun 2019 11:03 by ADMIN
ADMIN
Created by: Tanya
Comments: 2
Category: WordsProcessing
Type: Feature Request
25
Form fields are the legacy way to insert an editable controls in a document (text boxes, checkboxes, dropdowns) by using the FORMTEXT, FORMCHECKBOX and FORMDROPDOWN fields.

Do not confuse with content controls (structured document tags) (see https://feedback.telerik.com/Project/184/Feedback/Details/190057 ) and with ActiveX controls.
Unplanned
Last Updated: 18 Jun 2019 14:39 by ADMIN
"bolder" font weight is imported as regular font weight in the RadFlowDocument model. Instead, it should be imported as bold.
Unplanned
Last Updated: 19 Mar 2019 16:39 by ADMIN
ADMIN
Created by: Deyan
Comments: 1
Category: WordsProcessing
Type: Feature Request
33
These file formats are very similar to DOCX, and can be easily imported with loss of some information (e.g. macros).
Unplanned
Last Updated: 18 Mar 2019 09:54 by ADMIN
When a list is just before the table, all of its list items are inserted in the first cell of the table while exporting to HTML.

Workaround: Add a paragraph between the list and the table
foreach (var section in this.document.Sections)
{
    bool shouldInsert = false;
  
    foreach (var block in section.Blocks.ToList())
    {
        var paragraph = block as Paragraph;
        if (paragraph != null && paragraph.ListId > -1)
        {
            shouldInsert = true;
        }
        else if (shouldInsert)
        {
            var paragraphToInsert = new Paragraph(this.document);
            paragraphToInsert.Spacing.LineSpacing = 1;
            paragraphToInsert.Spacing.LineSpacingType = HeightType.Exact;
            paragraphToInsert.Spacing.SpacingAfter = 0;
            block.BlockContainer.Blocks.Insert(section.Blocks.IndexOf(block), paragraphToInsert);
            shouldInsert = false;
        }
    }
}
Completed
Last Updated: 13 Mar 2019 10:59 by ADMIN
By specification, the src attribute for images in the HTML content must be present and must contain a valid non-empty URL potentially surrounded by spaces.

However when embedded images with leading white spaces are imported, UriFormatException: 'Invalid URI: The Uri string is too long.', is thrown.
Unplanned
Last Updated: 11 Mar 2019 17:39 by ADMIN

In a DOCX document, the users can define an image which is bigger than the size of the page. When such an image is at the beginning of the document and is converted with PdfFormatProvider, an additional page is added in the result PDF.

Workaround: Check the image and resize it if needed:
foreach (var image in document.EnumerateChildrenOfType<ImageInline>())
{
    var section = image.Paragraph.Parent as Section;
    if (image.Image.Height > section.PageSize.Height - section.PageMargins.Top - section.PageMargins.Bottom)
    {
        var height = section.PageSize.Height - section.PageMargins.Top - section.PageMargins.Bottom - (image.Paragraph.Spacing.SpacingAfter * (image.Paragraph.Spacing.LineSpacing - 0.97));
        image.Image.Size = new System.Windows.Size(image.Image.Width, height);
    }
}


Unplanned
Last Updated: 06 Mar 2019 13:39 by ADMIN
ADMIN
Created by: Deyan
Comments: 0
Category: WordsProcessing
Type: Feature Request
14
Add support for INCLUDEPICTURE fields. Such fields should work with nested MERGEFIELD, as this is common scenario.

Workaround: Manually insert images over specific placeholder
RadFlowDocument document = new RadFlowDocument();
RadFlowDocumentEditor editor = new RadFlowDocumentEditor(document);
  
editor.InsertText("1");
editor.InsertText("EXAMPLE_IMAGE");
editor.InsertText("2");
  
foreach (var run in editor.Document.EnumerateChildrenOfType<Run>().ToArray())
{
    if(run.Text == "EXAMPLE_IMAGE")
    {
        Paragraph paragraph = run.Paragraph;
        int indexOfCurrentRun = paragraph.Inlines.IndexOf(run);
        paragraph.Inlines.RemoveAt(indexOfCurrentRun);
  
        ImageInline imageInline = new ImageInline(document);
        imageInline.Image.ImageSource = newTelerik.Windows.Documents.Media.ImageSource(imageData, "png");
        paragraph.Inlines.Insert(indexOfCurrentRun, imageInline);
    }
}
Unplanned
Last Updated: 18 Feb 2019 13:03 by ADMIN
There is a mismatch between the coordinates of the image and its mask causing some lines to appear in the PDF document. Extracting the image itself in a separate file doesn't show any issues - they can be seen only in the generated document.
Unplanned
Last Updated: 18 Feb 2019 12:50 by ADMIN
The GetActualValue() method returns an incorrect value when content has applied a paragraph style (e.g. Heading1) but its linked style is not used (e.d. Heading1Char). Affects the PDF export.
Completed
Last Updated: 14 Feb 2019 15:31 by ADMIN
When MergeField is present in the document, and this merge field is evaluated to an empty string - this, for example, happens when the property in the data source is set to null, empty string, or is missing at all - the result fragment remains in the result document. Instead, it should be removed.

Steps to reproduce: 
- Create document with merge field, the field should contain result fragment, and set data source which contains null or string.Empty value for the field:

            RadFlowDocument document = new RadFlowDocument();
            RadFlowDocumentEditor editor = new RadFlowDocumentEditor(document);

            editor.InsertField("MERGEFIELD FirstName ", "«FirstName»");

            List<Person> source = new List<Person>()
            {
                new Person() { FirstName = string.Empty }
            };

            RadFlowDocument mergedDocument = document.MailMerge(source);
Expected: The result document is empty.
Actual: The result document contains "«FirstName»" string.

Available in LIB Version 2017.3.1120.
Declined
Last Updated: 30 Jan 2019 13:49 by ADMIN
If a paragraph is numbered and its last run is underlined, on export to PDF, the numbering will be underlined as well. This does not apply for other formatting options, like font weight and font color. When exported to DOCX the numbering is not underlined.

Item is duplicate of WordsProcessing: List bullets are exported to PDF underlined/highlighted when the last run in the corresponding paragraph is underlined/highlighted
Unplanned
Last Updated: 29 Jan 2019 16:46 by ADMIN
At this point, the dir attribute is respected when applied on p elements. However, it can be defined for the whole document as an attribute of the html element:
<html xmlns="http://www.w3.org/1999/xhtml" dir="rtl">
 
Unplanned
Last Updated: 28 Jan 2019 15:02 by ADMIN
Allow to password-protect a document, so that it cannot be shown (read) without the password. Also, enable opening encrypted documents.

Workaround for encrypting: PdfProcessing can be used to encrypt the document:

using (MemoryStream ms = new MemoryStream())
{
    PdfFormatProvider pdfProcessingFormatProvider = new PdfFormatProvider();
    Telerik.Windows.Documents.Flow.FormatProviders.Pdf.PdfFormatProvider pdfFormatProvider = new Telerik.Windows.Documents.Flow.FormatProviders.Pdf.PdfFormatProvider();
    pdfFormatProvider.Export(flowDocument, ms);
    RadFixedDocument fixedDocument = pdfProcessingFormatProvider.Import(ms);

    using (Stream output = new FileStream(outputPath, FileMode.OpenOrCreate))
    {
        pdfProcessingFormatProvider.ExportSettings.IsEncrypted = true;
        pdfProcessingFormatProvider.ExportSettings.UserPassword = "pass";
        pdfProcessingFormatProvider.ExportSettings.ImageQuality = ImageQuality.Medium;
        pdfProcessingFormatProvider.Export(fixedDocument, output);
    }
}
 
Unplanned
Last Updated: 23 Jan 2019 09:45 by ADMIN
Enable customers to create and modify chart objects. The shapes featurе must be implemented before implementing this functionality.
Unplanned
Last Updated: 17 Jan 2019 17:16 by ADMIN
Created by: Cezary
Comments: 0
Category: WordsProcessing
Type: Feature Request
3
The RowSpan and ColumnSpan properties change the size of the cells so they occupy the desired number of rows/columns but doesn't merge them with other cells. It would be more convenient for the customers to have an option to directly merge or split cells.
Unplanned
Last Updated: 11 Jan 2019 13:58 by ADMIN
The properties applied to the paragraph marker are not respected when evaluating the style of the child elements. That leads to exporting the bullets in a list with their default settings when they are applied to the paragraph properties. The issue is reproducible when exporting to PDF and RTF.


Workaround, applicable when the style of all the bullets in the specific list is the same:

Change the style of the list level:
foreach (var paragraph in this.document.EnumerateChildrenOfType<Paragraph>())
{
    if (paragraph.ListId > -1)
    {
        this.document.Lists.GetList(paragraph.ListId).Levels[paragraph.ListLevel].CharacterProperties.CopyPropertiesFrom(paragraph.Properties.ParagraphMarkerProperties);
    }
}
Unplanned
Last Updated: 07 Jan 2019 10:00 by ADMIN
Created by: Bat-Erdene
Comments: 0
Category: WordsProcessing
Type: Feature Request
2
Add support for import of <pre> element from HTML.
 
Currently, the content of the <pre> element is imported, but the whitespaces are not preserved (and this is the main purpose of the <pre> element).
Unplanned
Last Updated: 28 Dec 2018 08:08 by ADMIN

When inserting content in an empty paragraph, the styles applied to it are the default document styles. However, if the properties are present in the last paragraph symbol, the content should inherit them.

Workaround: Copy the properties of the marker after inserting the content:

run.Properties.CopyPropertiesFrom(paragraph.Properties.ParagraphMarkerProperties);