Unplanned
Last Updated: 09 Jan 2026 09:59 by David
InvalidOperationException is thrown when the parser incorrectly interprets delimiter characters within literal strings as structural tokens instead of string data.
Unplanned
Last Updated: 19 Dec 2025 14:40 by Vitalii
SkiaImageFormatProvider: Blacked out images due to incorrectly resolved clipping.
Unplanned
Last Updated: 03 Dec 2025 14:24 by Domenico

This is the code for reproducing the incorrect PDF document. If the step with changing the font is commented, the document is exported properly:

 //Step 1: Create an instance of XlsxFormatProvider to import the Excel file
            XlsxFormatProvider xlsxFormatProvider = new XlsxFormatProvider();
            Telerik.Windows.Documents.Spreadsheet.FormatProviders.Pdf.PdfFormatProvider pdfFormatProvider = new Telerik.Windows.Documents.Spreadsheet.FormatProviders.Pdf.PdfFormatProvider();

            Workbook workbook;
            using (FileStream input = new FileStream("Input.xlsx", FileMode.Open))
            {
                workbook = xlsxFormatProvider.Import(input, TimeSpan.FromSeconds(10));
            }

            //Step 2: Export the workbook to PDF RadFixedDocument to modify fonts
            Telerik.Windows.Documents.Spreadsheet.FormatProviders.Pdf.PdfFormatProvider spread_pdf_provider = new Telerik.Windows.Documents.Spreadsheet.FormatProviders.Pdf.PdfFormatProvider();
            RadFixedDocument fixedDocument = spread_pdf_provider.ExportToFixedDocument(workbook, TimeSpan.FromSeconds(10));

            foreach (var page in fixedDocument.Pages)
            {
                foreach (var content in page.Content)
                {
                    if (content is TextFragment text)
                    {
                        // Replace the font with Helvetica or HelveticaBold based on the original font style
                        text.Font = text.Font.Name.ToLower().Contains("bold")
                            ? FontsRepository.HelveticaBold
                            : FontsRepository.Helvetica;
                    }
                }
            }

            //Step 3: Save the modified RadFixedDocument back to PDF
            string outputFileName = "ExportedWorkbook.pdf";
            Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.PdfFormatProvider fixed_pdf_provider = new Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.PdfFormatProvider();
            using (FileStream output = new FileStream(outputFileName, FileMode.Create))
            {
                fixed_pdf_provider.ExportSettings.DocumentUnhandledException += ExportSettings_DocumentUnhandledException;
                fixed_pdf_provider.ExportSettings.FontEmbeddingType = Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Export.FontEmbeddingType.Subset;
                fixed_pdf_provider.Export(fixedDocument, output, TimeSpan.FromSeconds(10));
            }
            Process.Start(new ProcessStartInfo() { FileName = outputFileName, UseShellExecute = true });

Unplanned
Last Updated: 27 Nov 2025 12:52 by Vitalii

When importing a large document (e.g. 2.3GB) , the library fails to parse int value that exceeds the limit which leads to endless importing:

Unplanned
Last Updated: 12 Nov 2025 10:43 by Scott
Created by: Scott
Comments: 0
Category: PdfProcessing
Type: Feature Request
10
Add support for ShadingType 1.
Unplanned
Last Updated: 10 Nov 2025 15:01 by Foxy
Handle the import of documents with an invalid cross-reference stream offset.
Unplanned
Last Updated: 24 Oct 2025 05:10 by Manisai
If the document contains an image that fails to be imported properly, an internal error occurs and the import process is interrupted leading to incomplete document with missing elements. 
Unplanned
Last Updated: 06 Oct 2025 11:03 by ADMIN

Corrupted document when exporting "Courier New" subset.

Workaround - fully embed the font:

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

 

Unplanned
Last Updated: 22 Sep 2025 07:45 by Dmitri
Unplanned
Last Updated: 15 Sep 2025 11:30 by Steinar
Unplanned
Last Updated: 05 Sep 2025 08:52 by Alvin

The TextProperties.FontSize property specifies the font size for text fragments. The property is of type double. The measurement unit used for font size in RadPdfProcessing is Device Independent Pixels (DIPs). You can convert it to points or other units using the Unit class.

However, when using the TextProperties with widgets the font conversion is not correct. Let's consider the case that we build a PDF document with a TextBoxField occupying a specific rectangle. According to the set text value, we should calculate the appropriate font size so the whole content can fit in the widget's rectangle.

        /// <summary>
        /// Creates a TextBoxField with calculated font size for the given rectangle
        /// </summary>
        private static TextBoxField CreateTextBoxWithCalculatedFont(string name, string text, Rect rect, double fontSize, FontBase font)
        {
            TextBoxField field = new TextBoxField(name);
       
            field.TextProperties.FontSize = Unit.DipToPoint(fontSize);
            field.TextProperties.Font = font;
            field.Value = text;

            var widget = field.Widgets.AddWidget();
            widget.Rect = rect;
            widget.Border.Width = 0;
            widget.TextProperties.FontSize = Unit.DipToPoint(fontSize); 
            widget.TextProperties.Font = font;

            return field;
        }

        /// <summary>
        /// Calculates the optimal font size for text to fit within a specific rectangle
        /// </summary>
        public static double CalculateFontSizeForRectangle(string text, Rect rect, FontBase font)
        {
            double fontSize = 0;
            Size measuredSize = new Size(0, 0);
            Size availableSize = rect.Size;
            while (measuredSize.Width<availableSize.Width && measuredSize.Height< availableSize.Height)
            {
                fontSize++;
                Block block = new Block();
                block.TextProperties.FontSize = fontSize;
                block.TextProperties.Font = font;
                block.InsertText(text);
                measuredSize = block.Measure();
            }

            return fontSize-1;
        }

            // Example: Wide textbox with calculated font size
            string wideText = "This is a wide textbox that demonstrates horizontal fitting of text content.";
            Rect wideRect = new Rect(200, 500, 400, 30);
            double wideFontSize = CalculateFontSizeForRectangle(wideText, wideRect, font);

            TextBoxField wideTextBoxField = CreateTextBoxWithCalculatedFont("WideTextBox", wideText, wideRect, wideFontSize, font);
            document.AcroForm.FormFields.Add(wideTextBoxField);
            var wideWidget = wideTextBoxField.Widgets.First();
            page.Annotations.Add(wideWidget);
            wideWidget.RecalculateContent();

Unplanned
Last Updated: 04 Aug 2025 10:04 by Graham
Created by: Graham
Comments: 0
Category: PdfProcessing
Type: Feature Request
0
Implement GetColor method for IndexedColorSpaceObject.
Unplanned
Last Updated: 09 Jul 2025 06:52 by Vitalii

When exporting a PDF page to an image with the SkiaImageFormatProvider the following error occurs: 

System.IndexOutOfRangeException: 'Index was outside the bounds of the array.'

Unplanned
Last Updated: 20 Jun 2025 08:33 by Michael
Created by: Michael
Comments: 0
Category: PdfProcessing
Type: Bug Report
0
Import-export changes the color of the shading object.
Unplanned
Last Updated: 03 Jun 2025 10:23 by Rey
Add support for "AcroSendMail:SendMail" named action.
Unplanned
Last Updated: 03 Jun 2025 05:57 by Eli
Such a document can be considered as invalid. However, it would be good to provide functionality to handle it.  
Unplanned
Last Updated: 09 May 2025 10:23 by Vitalii
Created by: Vitalii
Comments: 0
Category: PdfProcessing
Type: Feature Request
11
A shading dictionary specifies details of a particular gradient fill, including the
type of shading to be used, the geometry of the area to be shaded, and the geometry of the gradient fill. Various shading types are available, depending on the value of the dictionary’s ShadingType entry:
  • Coons patch meshes (type 6) construct a shading from one or more color
    patches, each bounded by four cubic Bézier curves.
Unplanned
Last Updated: 02 May 2025 06:20 by Scott
When importing a document with a missing "endobj" operator, an exception is thrown: 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.Types.IndirectObject'.'
Unplanned
Last Updated: 09 Apr 2025 05:13 by Fabio Videira
When exporting the PDF content to plain text, the form fields and their values are not extracted. It would be nice to have an option to include the content in the form fields as well.
Unplanned
Last Updated: 02 Apr 2025 12:34 by Jian
Created by: Jian
Comments: 0
Category: PdfProcessing
Type: Feature Request
0

Introduce Sanitize Document functionality.

https://experienceleague.adobe.com/en/docs/document-cloud-learn/acrobat-learning/advanced-tasks/redact
https://helpx.adobe.com/acrobat/using/removing-sensitive-content-pdfs.html

1 2 3 4 5 6