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

Restrict the TableCellProperties API of a style according to specification.

In Development
Last Updated: 12 Jul 2024 07:07 by ADMIN

In a WPF project targeting .NET 6, the following code snippet results in an error:

        public MainWindow()
        {
            InitializeComponent();

            Telerik.Windows.Documents.Flow.FormatProviders.Html.HtmlFormatProvider provider = new Telerik.Windows.Documents.Flow.FormatProviders.Html.HtmlFormatProvider();
            RadFlowDocument document = provider.Import("<html><body><h1>My First Heading</h1><p>My first paragraph.</p></body></html>");
        }
System.IO.FileNotFoundException: 'Could not load file or assembly 'System.Text.Encoding.CodePages, Version=7.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified.'

Workaround: edit the .csproj file and include the required package reference:

	<ItemGroup>
		<PackageReference Include="Telerik.Windows.Documents.Flow" Version="2024.2.426" />
		<PackageReference Include="System.Text.Encoding.CodePages" Version="7.0.0" />
	</ItemGroup>
	<ItemGroup>
		<FunctionsPreservedDependencies Include="System.Text.Encoding.CodePages.dll" />
	</ItemGroup>

 

 
In Development
Last Updated: 11 Jul 2024 15:19 by ADMIN

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: 11 Jul 2024 12:56 by Luk

At this point, the justify alignment is not supported. Provide the ability to export text with this setting.

This functionality is dependent on PdfProcessing: Provide API for setting the text alignment to Justify

Unplanned
Last Updated: 10 Jul 2024 05:38 by ADMIN
When table with table border without color set is created (the color is null), and the document is exported to PDF, ArgumentNullException is thrown. 

Workaround: Explicitly set a color where the color is null.
private void PdfExport()
{
	var tables = this.document.EnumerateChildrenOfType<Table>();

	foreach (var table in tables)
	{
		TableBorders coloredClone = this.CopyTableBorders_SetColorWhenOmitted(table);
		table.Borders = coloredClone;
		
		using (Stream output = new FileStream(fileName, FileMode.OpenOrCreate))
		{
			provider.Export(this.document, output);
		}
	}
}

private TableBorders CopyTableBorders_SetColorWhenOmitted(Table table)
{
	var leftBorder = new Border(table.Borders.Left.Thickness,
				  table.Borders.Left.Style,
				  table.Borders.Left.Color ?? new ThemableColor(Colors.Transparent),
				  table.Borders.Left.Shadow,
				  table.Borders.Left.Frame,
				  table.Borders.Left.Spacing);

	var rightBorder = new Border(table.Borders.Right.Thickness,
				  table.Borders.Right.Style,
				  table.Borders.Right.Color ?? new ThemableColor(Colors.Transparent),
				  table.Borders.Right.Shadow,
				  table.Borders.Right.Frame,
				  table.Borders.Right.Spacing);

	var bottomBorder = new Border(table.Borders.Bottom.Thickness,
				table.Borders.Bottom.Style,
				table.Borders.Bottom.Color ?? new ThemableColor(Colors.Transparent),
				table.Borders.Bottom.Shadow,
				table.Borders.Bottom.Frame,
				table.Borders.Bottom.Spacing);

	var topBorder = new Border(table.Borders.Top.Thickness,
				table.Borders.Top.Style,
				table.Borders.Top.Color ?? new ThemableColor(Colors.Transparent),
				table.Borders.Top.Shadow,
				table.Borders.Top.Frame,
				table.Borders.Top.Spacing);

	var insideHorizontalBorder = new Border(table.Borders.InsideHorizontal.Thickness,
			 table.Borders.InsideHorizontal.Style,
			 table.Borders.InsideHorizontal.Color ?? new ThemableColor(Colors.Transparent),
			 table.Borders.InsideHorizontal.Shadow,
			 table.Borders.InsideHorizontal.Frame,
			 table.Borders.InsideHorizontal.Spacing);

	var insideVerticalBorder = new Border(table.Borders.InsideVertical.Thickness,
			table.Borders.InsideVertical.Style,
			table.Borders.InsideVertical.Color ?? new ThemableColor(Colors.Transparent),
			table.Borders.InsideVertical.Shadow,
			table.Borders.InsideVertical.Frame,
			table.Borders.InsideVertical.Spacing);

	var tableBorders = new TableBorders(leftBorder, topBorder, rightBorder, bottomBorder, insideHorizontalBorder, insideVerticalBorder);

	return tableBorders;
}
Unplanned
Last Updated: 09 Jul 2024 10:39 by Smiljan

Center alignment is not respected for list numbering.

Expected:

Actual:

Unplanned
Last Updated: 04 Jul 2024 11:52 by Janson

Latest version 2024.2.426:

Old version 2022.3.906:

Use the following code: 

        static void Main(string[] args)
        {
            Console.WriteLine("Test from 2022.3.906 to 2024.2.426.");
            string html = @"<html>
                <head>
                    <style type=""text/css"">
                            h1 {
                               background-color: red;
                              }
                            #highlight1{
                                background-color: blue;
                             }
                           .highlight2{
                                background-color: yellow;
                             }
                     </style>
                </head>
                <body>
                   <h1>H1 - This Works </h1>
                   <h2 id=""highlight1"">H2 with id selector.  This works too.</h2>
                   <h3 class=""highlight2"">H3 with class selector.  This didn't work</h3>
                </body>
                </html>";

            Telerik.Windows.Documents.Flow.FormatProviders.Html.HtmlFormatProvider html_provider = new Telerik.Windows.Documents.Flow.FormatProviders.Html.HtmlFormatProvider();
            RadFlowDocument document = html_provider.Import(html);

            string html_output = "output.html";
            using (Stream output = File.Create(html_output))
            {

                html_provider.Export(document, output);
            }
            Process.Start(new ProcessStartInfo() { FileName = html_output, UseShellExecute = true });
        }
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

In Development
Last Updated: 28 Jun 2024 10:35 by ADMIN
Currently, the text is exported but the strikethrough line is not drawn in the exported PDF.
In Development
Last Updated: 06 Jun 2024 12:33 by ADMIN
DocFormatProvider: EndOfStreamException when importing document with specific image.
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.
In Development
Last Updated: 31 May 2024 11:40 by ADMIN
When parsing the text content of the document, hidden characters are included in the place of the fields, making the content different than expected.
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: 21 May 2024 08:26 by ADMIN
AngleSharp.Dom.DomException when importing a file with CSS style that starts with ".\!".
Unplanned
Last Updated: 17 May 2024 08:29 by Vyacheslav
Unplanned
Last Updated: 17 May 2024 07:49 by Vyacheslav
In Development
Last Updated: 16 May 2024 15:55 by ADMIN

The hanging indent of the paragraph affects the rendering of content with tabs. However, the indent is not respected while generating the PDF, leading to disordered content.

Workaround: Insert a tab stop with the position set to the value for hanging indent:

foreach (var paragraph in this.flowDocument.EnumerateChildrenOfType<Paragraph>())
{
    if (paragraph.Properties.HangingIndent.HasLocalValue)
    {
        Run run = paragraph.EnumerateChildrenOfType<Run>().Where(r => r.Text == "\t").FirstOrDefault();

        if (run != null)
        {
            paragraph.TabStops = paragraph.TabStops.Insert(new Telerik.Windows.Documents.Flow.Model.Styles.TabStop(paragraph.Properties.HangingIndent.LocalValue.Value));
        }

    }
}

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.
In Development
Last Updated: 16 May 2024 08:29 by ADMIN

Wrong exported paragraph indentation when the paragraph is in a table cell.

Workaround: Iterate table`s paragraphs and set the negative indentations to zero:

IEnumerable<Table> tables = this.document.EnumerateChildrenOfType<Table>();
foreach (Table table in tables)
{
	IEnumerable<Paragraph> paragraphs = table.EnumerateChildrenOfType<Paragraph>();
	foreach (Paragraph paragraph in paragraphs)
	{
		if (paragraph.Indentation.LeftIndent < 0)
		{
			paragraph.Indentation.LeftIndent = 0;
		}
	}
}

1 2 3 4 5 6