In Development
Last Updated: 03 Oct 2025 13:39 by ADMIN
When importing a VariableContent widget with OpenType font, which fails to read the post table of the font file, a NullReferenceException is thrown when the RecalculateContent() method is called.

Workaround: Change the widget font:

foreach (Widget widget in textBoxField.Widgets)
{
    widget.TextProperties.Font = FontsRepository.Helvetica;
    widget.RecalculateContent();
}
Unplanned
Last Updated: 03 Oct 2025 08:29 by David

Corrupted document when exporting "Courier New" subset.

Workaround - fully embed the font:

var pdfFormatProvider = new PdfFormatProvider();
pdfFormatProvider.ExportSettings.FontEmbeddingType = FontEmbeddingType.Full;

 

In Development
Last Updated: 02 Oct 2025 12:58 by ADMIN
Part of the stack trace: 
System.OutOfMemoryException: Insufficient memory to continue the execution of the program.
   at System.Text.StringBuilder.ExpandByABlock(Int32 minBlockCharCount)
   at System.Text.StringBuilder.AppendWithExpansion(Char value)
   at System.Text.StringBuilder.Append(Char value)
   at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Utilities.CrossReferenceCollectionReader.GetAllText(Reader reader, Int64 minOffset, Int64 maxOffset)
   at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Utilities.CrossReferenceCollectionReader.FindAllObjectOffsets(Reader reader, Dictionary`2 tokenToOffsets, Int64 minOffset, Int64 maxOffset)
In Development
Last Updated: 02 Oct 2025 09:15 by ADMIN

 Tables should ignore fixed proffered width with the value of 0, this is the default behavior in Word as well.

Workaround (when converting Flow to PDF documents): 

foreach (var item in tables)
{
    if (item.PreferredWidth.Type == Telerik.Windows.Documents.Flow.Model.Styles.TableWidthUnitType.Fixed && 
        item.PreferredWidth.Value == 0)
    {
        item.PreferredWidth = new Telerik.Windows.Documents.Flow.Model.Styles.TableWidthUnit(Telerik.Windows.Documents.Flow.Model.Styles.TableWidthUnitType.Percent, 100);
    } 
  
    
}

In Development
Last Updated: 02 Oct 2025 08:11 by ADMIN
Stacktrace: 
   at System.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)
   at System.Collections.Generic.Dictionary`2.FindValue(TKey key)
   at System.Collections.Generic.Dictionary`2.ContainsKey(TKey key)
   at Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.Model.Elements.Worksheets.ConditionalFormattingRuleElementX14.OnAfterRead(IXlsxWorksheetImportContext context) in C:\Work\document-processing\Documents\Spreadsheet\FormatProviders\OpenXml\Xlsx\Model\Elements\Worksheets\ConditionalFormatting\x14\ConditionalFormattingRuleElementX14.cs:line 62
Unplanned
Last Updated: 01 Oct 2025 13:07 by Babu

When imported in the WordsProcessing model, the current HTML doesn't respect the defined column width and all columns have identical width:

    <colgroup>
        <col span="1" style="width: 33.3302%;">
        <col span="1" style="width: 17.5658%;">
        <col span="1" style="width: 49.104%;">
    </colgroup>

Observed result:

Expected result:

Workaround: use the width property as follows:

    <colgroup>
        <col span="1" width="33.3302%">
        <col span="1" width="17.5658%">
        <col span="1" width="49.104%">
    </colgroup>
In Development
Last Updated: 01 Oct 2025 05:37 by ADMIN
Appending content to an existing workbook results in a corrupted document.
In Development
Last Updated: 29 Sep 2025 14:27 by ADMIN

Read the documentation for CancelationTokenSource.CancelAfter:

this method will throw an ArgumentOutOfRangeException when: delay.TotalMilliseconds is less than -1 or greater than Int32.MaxValue (or UInt32.MaxValue - 1 on some versions of .NET). Note that this upper bound is more restrictive than TimeSpan.MaxValue.

----------------------------------------------------

your code in CancelationTokenSourceFactory.CreateTokenSource does this check:

if (timeSpan.HasValue && timeSpan.Value != TimeSpan.MaxValue)

this check for TimeSpan.MaxValue seems totally pointless here, if timeSpan is anything between ~2147483647 and 922337203685476 milliseconds long this will still just throw a ArgumentOutOfRangeException.

I suspect that this check was intended as a way to prevent creating a cancellation timer that never triggers in the CancellationTokenSource, which should look like this:

if (timeSpan.HasValue && timeSpan != Timeout.InfiniteTimeSpan) //Timeout.InfiniteTimeSpan is -1 milliseconds
which still seems like premature optimization with no noticeable benefit but at least it isn't completely pointless.
Completed
Last Updated: 29 Sep 2025 14:22 by ADMIN
Release 2025.2.520 (2025 Q2)
This is a sample code to replicate the error which is triggered on export: 
            string inputFileName = "input.xlsx";
            if (!File.Exists(inputFileName))
            {
                throw new FileNotFoundException(String.Format("File {0} was not found!", inputFileName));
            }

            Telerik.Windows.Documents.Spreadsheet.Model.Workbook workbook;
            IWorkbookFormatProvider formatProvider = new Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.XlsxFormatProvider();

            using (Stream input = new FileStream(inputFileName, FileMode.Open))
            { 
                workbook = formatProvider.Import(input, TimeSpan.MaxValue);
            }
            string outputFilePath = "output.xlsx";

            using (Stream output = new FileStream(outputFilePath, FileMode.Create))
            {
                formatProvider.Export(workbook, output, TimeSpan.MaxValue);
            }
            Process.Start(new ProcessStartInfo() { FileName = outputFilePath, UseShellExecute = true });
Unplanned
Last Updated: 25 Sep 2025 09:01 by Paul
Tab stop distances are not calculated correctly during PDF export if a hanging indent is applied.
Unplanned
Last Updated: 23 Sep 2025 11:05 by Sandy
Setting transparency to a chart series color results in a corrupted document.
Unplanned
Last Updated: 22 Sep 2025 07:45 by Dmitri
In Development
Last Updated: 19 Sep 2025 12:15 by ADMIN

InvalidCastException is thrown when importing a document with a structure element with an indirect reference to an integer value.

InvalidCastException: 'Unable to cast object of type 'Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Types.PdfInt' to type 'Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.MarkedContents.StructElementObject'.'

In Development
Last Updated: 18 Sep 2025 13:12 by ADMIN
ArgumentNullException is thrown when importing a restricted, AES-encrypted document.
Unplanned
Last Updated: 18 Sep 2025 12:49 by Christopher
KeyNotFoundException is thrown when importing a document with a structure element that references a page that is not part of the page collection.
Unplanned
Last Updated: 15 Sep 2025 13:28 by Tibor
The "w:multiLine" property of a text content control is lost on import-export.
<w:sdt>
  <w:sdtPr>
    <w:text w:multiLine="1"/>
  </w:sdtPr>
  <w:sdtContent>
    <w:r>
      <w:t>Line 1</w:t>
    </w:r>
    <w:r>
      <w:br/>
    </w:r>
    <w:r>
      <w:t>Line 2</w:t>
    </w:r>
  </w:sdtContent>
</w:sdt>
Unplanned
Last Updated: 15 Sep 2025 13:07 by Tibor
Disappearing borders due to "w:val" property changing from "none" to "nil" on import-export.
Unplanned
Last Updated: 15 Sep 2025 11:15 by Tim
Solid lines appear over dashed lines when generating PDF from SVG diagram.
Unplanned
Last Updated: 15 Sep 2025 11:09 by Tim
Creating a document from an SVG image with a CapPathRound (stroke-linecap="round") adds unexpected lines.
Duplicated
Last Updated: 15 Sep 2025 06:44 by ADMIN

Registering the font used to be enough for resolving the font's characters in .NET Standard

			byte[] fontData = File.ReadAllBytes(".\\files\\cour.ttf");
			FontFamily courierNewFont = new FontFamily("Courier New");
			FontsRepository.RegisterFont(courierNewFont, FontStyles.Normal, FontWeights.Normal, fontData);

However, as of  version 2024.2.426 registering the font doesn't produce the correct result anymore and the text got missing in the PDF fields. When the document is opened in Adobe, the following message appears: 

The FontsProvider works in both versions (before and after 2024.2.426). It is also required to iterate all widgets and apply the font explicitly to the widget.TextProperties.Font property.

1 2 3 4 5 6