Unplanned
Last Updated: 03 Apr 2020 14:49 by ADMIN
Unplanned
Last Updated: 01 Apr 2020 12:40 by ADMIN
KeyNotFoundException is thrown when importing RTF document which has an invalid Font Family name.
Unplanned
Last Updated: 01 Apr 2020 11:37 by ADMIN
ArgumentException is thrown when importing an RTF document which has a font size is set to zero (\fs0).
Unplanned
Last Updated: 31 Mar 2020 16:43 by ADMIN
When the indentation of a paragraph, which is located in a list, is locally set, its indentation is not property exported to RTF.
Completed
Last Updated: 27 Mar 2020 15:17 by ADMIN
Release R2 2020
The current implementation uses System.Windows.Media.Imaging.BitmapImage class in order to take the image pixels for the PDF export. However, BitmapImage class throws NotSupportedException when being initialized with a WMF or EMF image.

WORKAROUND: WMF and EMF images may be converted to PNG images before the PDF export. The following code snippet shows how to convert all inline WMF image to PNG images by using System.Drawing.Image class:

private static void ConvertInlineWmfImagesToPng(RadFlowDocument document)
{
    foreach (ImageInline image in document.EnumerateChildrenOfType<ImageInline>())
    {
        if (image.Image.ImageSource.Extension.Equals("wmf", StringComparison.InvariantCultureIgnoreCase))
        {
            using (MemoryStream wmfImageStream = new MemoryStream(image.Image.ImageSource.Data))
            {
                using (MemoryStream pngImageStream = new MemoryStream())
                {
                    var imageDrawing = System.Drawing.Image.FromStream(wmfImageStream);
                    imageDrawing.Save(pngImageStream, ImageFormat.Png);
                    byte[] pngBytes = pngImageStream.ToArray();
 
                    image.Image.ImageSource = new ImageSource(pngBytes, "png");
                }
            }
        }
    }
}
Unplanned
Last Updated: 24 Mar 2020 15:30 by ADMIN

I have created a very simple template (see attached file), import it, add my contents and later try to do a MailMerge.
However, the call to this function fails with the following exception:

System.ArgumentException
  HResult=0x80070057
  Message=The document element is already associated with a parent.
Parametername: item
  Source=Telerik.Windows.Documents.Flow
  StackTrace:
   at Telerik.Windows.Documents.Flow.Model.Collections.DocumentElementCollection`2.VerifyDocumentElementOnInsert(T item) in c:\DeveloperTooling_Agent13\_work\91\s\Documents\Flow\Flow\Model\Collections\DocumentElementCollection.cs:line 69
   at Telerik.Windows.Documents.Core.Data.DocumentElementCollectionBase`2.InsertRange(Int32 index, IEnumerable`1 items) in c:\DeveloperTooling_Agent13\_work\91\s\Documents\Core\Core\Core\Data\DocumentElementCollectionBase.cs:line 129
   at Telerik.Windows.Documents.Flow.Model.InlineRangeEditor.InsertInlinesInRange(InlineBase start, IEnumerable`1 inlines) in c:\DeveloperTooling_Agent13\_work\91\s\Documents\Flow\Flow\Model\InlineRangeEditor.cs:line 132
   at Telerik.Windows.Documents.Flow.Model.Fields.FieldInfo.UpdateFieldCore(FieldUpdateContext context) in c:\DeveloperTooling_Agent13\_work\91\s\Documents\Flow\Flow\Model\Fields\FieldInfo.cs:line 236
   at Telerik.Windows.Documents.Flow.Model.Fields.FieldInfo.UpdateFieldInternal(FieldUpdateContext context) in c:\DeveloperTooling_Agent13\_work\91\s\Documents\Flow\Flow\Model\Fields\FieldInfo.cs:line 186
   at Telerik.Windows.Documents.Flow.Model.MailMergeProcessor.ExecuteMailMerge(RadFlowDocument document, Object record) in c:\DeveloperTooling_Agent13\_work\91\s\Documents\Flow\Flow\Model\MailMergeProcessor.cs:line 57
   at Telerik.Windows.Documents.Flow.Model.MailMergeProcessor.Execute(RadFlowDocument document, IEnumerable collection) in c:\DeveloperTooling_Agent13\_work\91\s\Documents\Flow\Flow\Model\MailMergeProcessor.cs:line 25
   at Telerik.Windows.Documents.Flow.Model.RadFlowDocument.MailMerge(IEnumerable collection) in c:\DeveloperTooling_Agent13\_work\91\s\Documents\Flow\Flow\Model\RadFlowDocument.cs:line 337
   at JOIM.TextExport.DocumentGenerator.Export(String outputPath) in P:\Tolaris\JOIM.Common\JOIM.TextExport\DocumentGenerator.cs:line 581


using Telerik.Windows.Documents.Flow.FormatProviders.Docx;
using Telerik.Windows.Documents.Flow.Model;
using Telerik.Windows.Documents.Spreadsheet.Model;

...

using (StreamfileStream = File.Open(templatePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
    var provider = newDocxFormatProvider(); 
    _document = provider.Import(fileStream);
}

...

_document = Document.MailMerge(new [] { MergeFieldData });

Unplanned
Last Updated: 18 Mar 2020 09:06 by ADMIN
Add support for TableStart/TableEnd merge fields
Unplanned
Last Updated: 11 Mar 2020 17:27 by ADMIN

When nested div elements are imported the WordsProcessing library creates separate paragraph elements for each div. However, if the outer div doesn't contain any inline children preceding the inner div element, the first created paragraph will be removed and only the second paragraph will be left. This leads to losing any style properties of the outer div.

Example:

<div style="margin-top: 50px;">
    <div>Text</div>
</div>
This will produce a paragraph with no style paragraph property applied corresponding to the margin-top style.

Unplanned
Last Updated: 13 Feb 2020 14:39 by ADMIN
Created by: Dimitar
Comments: 0
Category: WordsProcessing
Type: Bug Report
0
When different borders are set to the table cells and the table itself, they are overlapping using relatively complex logic.
Completed
Last Updated: 05 Feb 2020 09:38 by ADMIN
Release LIB 2020.1.210 (02/10/2020)
When the last run from a paragraph is underlined, the associated bullet has underline applied as well. The same applies for the background color.
Completed
Last Updated: 04 Feb 2020 14:49 by ADMIN
Release LIB 2020.1.210 (02/10/2020)
When importing from HTML, all successive spaces in a spans are trimmed. Instead, in some cases one space should be left, e.g. between words. For example, the importing the following HTML should leave one space after the hyperlink:

<p><a href="www.telerik.com" target="_blank"><span>test</span></a>      and more.</p>

Workaround: After importing, check if the runs after the hyperlinks start with space:
foreach (var hyperlinkEnd in this.document.EnumerateChildrenOfType<FieldCharacter>().Where(f => f.FieldCharacterType == FieldCharacterType.End))
{
    Paragraph currentParagraph = hyperlinkEnd.Paragraph;
    int indexOfNextRun = currentParagraph.Inlines.IndexOf(hyperlinkEnd) + 1;
    if (currentParagraph.Inlines.Count > indexOfNextRun)
    {
        Run run = currentParagraph.Inlines[indexOfNextRun] as Run;
        if (run != null && run.Text[0] != ' ')
        {
            run.Text = " " + run.Text;
        }
    }
}
Completed
Last Updated: 22 Jan 2020 10:49 by ADMIN
Release LIB 2020.1.127 (01/27/2020)
If HTML document is imported, and it contains image with invalid URL, then the image is imported with this URL in the document model. On subsequent export to Docx, the library tries to download the image data, which throws WebException. Instead, the image should be replaced with generic 'error' image.

Workaround: Manually test the image URL for correctness on HTML import, and replace the data:

        static void Main(string[] args)
        {
            HtmlFormatProvider htmlFormatProvider = new HtmlFormatProvider();
            htmlFormatProvider.ImportSettings.LoadFromUri += (sender, e) =>
            {
                if (!IsValid(e.Uri))
                {
                    e.SetData(File.ReadAllBytes("no-image.png"));
                }
            };
        }

        private static bool IsValid(string uri)
        {
            try
            {
                using (WebClient client = new WebClient())
                {
                    client.DownloadData(uri);
                }
            }
            catch (WebException)
            {
                return false;
            }

            return true;
        }

The same issue appears when exporting to PDF.
Completed
Last Updated: 21 Jan 2020 11:47 by ADMIN
Release LIB 2020.1.127 (01/27/2020)
When a PAGE field containing a \* MERGEFORMAT switch it is suspended of getting the real number of a page.
Unplanned
Last Updated: 21 Jan 2020 10:15 by ADMIN
Importing HTML list containing div element in the list item is leading to additional empty paragraph before the content:
<ul>
	<li>
		<div>Text</div>
	</li>
</ul>


Workaround: Using other Html elements (e.g. <p> or <span>) instead of <div>
Unplanned
Last Updated: 17 Jan 2020 09:16 by ADMIN

The empty lines are not converted properly from RTF to HTML

Workaround: 

private static void FixEmptyParagraphs(RadFlowDocument document)
{
    var paragraphs = document.EnumerateChildrenOfType<Paragraph>();



    foreach (var paragraph in paragraphs)
    {
        if (paragraph.Inlines.Count < 1)
        {
            char nbsp = (char)160;
            paragraph.Inlines.AddRun(nbsp.ToString());
        }
    }
}



Unplanned
Last Updated: 03 Jan 2020 11:12 by ADMIN
'Value cannot be null. Parameter name: relationshipId' exception is thrown when an image does not have a relationship id specified. MS Word is showing the image as invalid but renders the document.
Unplanned
Last Updated: 23 Dec 2019 10:49 by ADMIN
 When exporting to HTML file, the table width is wrongly evaluated when the table width (in the original document) is set to fixed width.

Workaround: 
IEnumerable<Table> tables = this.document.EnumerateChildrenOfType<Table>();
foreach (Table table in tables)
{
table.PreferredWidth = new TableWidthUnit(TableWidthUnitType.Auto);
}

IEnumerable<Paragraph> paragraphs = this.document.EnumerateChildrenOfType<Paragraph>();
foreach (Paragraph paragraph in paragraphs)
{
paragraph.Spacing.SpacingAfter = 0;
}
Unplanned
Last Updated: 18 Dec 2019 09:03 by ADMIN
 The table styles are not imported correctly form HTML.
Declined
Last Updated: 11 Dec 2019 06:32 by ADMIN
Created by: Benny
Comments: 1
Category: WordsProcessing
Type: Bug Report
2

Special chars (åäö) with PdfFormatProvider wont work.

Project submitted!

    public void SpecialCharsTest()
        {
            RadFlowDocument document = new RadFlowDocument();

            RadFlowDocumentEditor editor = new RadFlowDocumentEditor(document);

            editor.InsertText("Before text");
            editor.InsertText("åäö ÅÄÖ ☕"); // This line will not appear in the pdf 
            editor.InsertText("After text");
            using (Stream output = new FileStream("specialCharTest.pdf", FileMode.OpenOrCreate))
            {
                PdfFormatProvider provider = new PdfFormatProvider();
                provider.Export(document, output);
            }
        }

Special characters wont work :-/

Declined
Last Updated: 13 Nov 2019 13:42 by ADMIN
The background color is not respected when it is applied to part of the spans in a paragraph and the document is exported to PDF.

Html code in which the background color property is respected: <span style=""background-color:red;"">test with background</span>
Html code in which the background color property is NOT respected: 
test<span style=""background-color:red;"">test with background</span>
1 2 3 4 5 6