Declined
Last Updated: 13 Apr 2020 09:11 by ADMIN
Created by: Deepa
Comments: 1
Category: WordsProcessing
Type: Bug Report
0

We are using the Telerik Xamarin UI components, which were released on 18th March 2020, for one of our micro-services hosted in Azure cloud, to convert rtf text to raw text. Currently we have Linux containers in Azure. The code which we are using is as follows -

var rtfFormatProvider = new RtfFormatProvider();

var txtFormatProvider = new TxtFormatProvider();

RadFlowDocument doc = null;

doc = rtfFormatProvider.Import(<<Base64_Inputstring>>.DecodeFromBase64String());

string result = txtFormatProvider.Export(doc);

However, we observed that the output of the above code is different when run on Windows platform as compared to when run on Linux platform. For Linux, the CR characters are not included in the raw text. We would like to see the same output for Linux as what we get for Windows, that is raw text with the CR characters. Is this something which can be fixed? Can you suggest a work-around for this issue?

I am attaching a sample input along with this mail, as well as the Windows output and the Linux output, for your reference.

Thanks,

Deepa 

 

 

Unplanned
Last Updated: 09 Apr 2020 13:39 by ADMIN

This results in a missing paragraph. For example, having a table with three cells and Page field in the footer of a document and exporting it to PDF, will not export the last paragraph. 

As a workaround add new run after the last field character in the cell's table before exporting the document to PDF.

                BlockCollection footerContent = this.document.Sections.First().Footers.Default.Blocks;
                Table footerTable = footerContent.First() as Table;
                var cells = footerTable.Rows.Last().Cells.Where(x => x.EnumerateChildrenOfType<FieldCharacter>().Any());
                foreach (var cell in cells)
                {
                    cell.Blocks.AddParagraph().Inlines.AddRun();
                }

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.
Unplanned
Last Updated: 30 Mar 2020 06:57 by ADMIN
Created by: Rudá Cunha
Comments: 0
Category: WordsProcessing
Type: Feature Request
1
Currently, this could be achieved by exporting the document to PDF and then by using RadPdfViewer's WPF control ThumbnailFactory class. Sample code may be seen at this forum post: http://www.telerik.com/forums/pdf-thumbnail-returns-transparent-images#jO33X-E8Cki_qLh_KsToWg
Completed
Last Updated: 30 Mar 2020 06:57 by ADMIN
Release R2 2020
Currently, the Line breaks <br> are not exported to plain text format.

Workaround:
Replace <br> tags in the HTML document with a marker
string html = File.ReadAllText("Source.html");
string newHtml = html.Replace("<br>", "[br]");
File.WriteAllText("NewSource.html", newHtml);
Then import the edited HTML and export it as plain text, then replace the markers with "\r\n"
using (Stream stream = File.OpenRead("NewSource.html"))
{
	HtmlFormatProvider htmlFormatProvider = new HtmlFormatProvider();
	flowDocument = htmlFormatProvider.Import(stream);
	
	TxtFormatProvider txtFormatProvider = new TxtFormatProvider();
	string text = txtFormatProvider.Export(flowDocument);
	string newText = text.Replace("[br]", "\r\n");
}

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: 09 Mar 2020 09:41 by ADMIN
Created by: Dimitar
Comments: 0
Category: WordsProcessing
Type: Feature Request
0
Add support for document comparison
Unplanned
Last Updated: 05 Mar 2020 08:27 by ADMIN
Created by: Dimitar
Comments: 0
Category: WordsProcessing
Type: Feature Request
0
Handle import of invalid font sizes.
Unplanned
Last Updated: 13 Feb 2020 14:39 by ADMIN
Created by: Dimitar
Comments: 0
Category: WordsProcessing
Type: Bug Report
1
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 11:54 by ADMIN
Release LIB 2020.1.127 (01/27/2020)
ADMIN
Created by: Deyan
Comments: 0
Category: WordsProcessing
Type: Feature Request
4
Currently Run.Shading is not exported to PDF.

Note: This scenario is common when converting HTML to PDF, as Run.Shading is set when construct like <span style="background-color:#ffcc00;"> is used.

Workaround: Iterate all the Runs in the already imported HTML document and set their HighlightColor to Shading.BackgroundColor.LocalValue. Check this code snippet:
foreach (Run run in document.EnumerateChildrenOfType<Run>())
{
	if (!run.Properties.HighlightColor.HasLocalValue)
	{
		run.HighlightColor = run.Shading.BackgroundColor.LocalValue;
	}
}


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: 30 Dec 2019 07:01 by ADMIN
Currently, ImportSettings allows importing a single stylesheet only. Users should be able to specify and load several external stylesheets.
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;
}