Completed
Last Updated: 10 Oct 2025 06:11 by ADMIN
Release 2025.3.1007 (2025 Q3)
ArgumentException is thrown when exporting a document with a Unicode character in the Document Info
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();

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.

Completed
Last Updated: 10 Oct 2025 06:11 by ADMIN
Release 2025.3.1007 (2025 Q3)

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'.'

Completed
Last Updated: 12 Nov 2025 11:41 by ADMIN
Release 2025.4.1104 (2025 Q4)
ArgumentNullException is thrown when importing a restricted, AES-encrypted document.
Completed
Last Updated: 24 Jun 2026 10:31 by ADMIN
Release Scheduled For = 2026.2.624 (2026 Q2)
Completed
Last Updated: 12 Nov 2025 11:41 by ADMIN
Release 2025.4.1104 (2025 Q4)
Add support for /TR (Transfer Function) property of SMask.
Completed
Last Updated: 13 Feb 2026 09:39 by ADMIN
Release 2026.1.210 (2026 Q1)
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: 10 Nov 2025 15:01 by Foxy
Handle the import of documents with an invalid cross-reference stream offset.
Completed
Last Updated: 26 Jan 2026 14:27 by ADMIN
Release 2025.4.1216 (2025 Q4)

Resaving a document with Acrobat throws an error due to invalid Info dictionary in document trailer.

Completed
Last Updated: 21 Jan 2026 14:56 by ADMIN
Release 2025.4.1319 (2025 Q4)

Setting the ComplianceLevel to PdfA3B and the TaggingStrategy to UseExisting when exporting a PDF document leads to the following Error reported by VeraPdf:

Specification: ISO 19005-3:2012, Clause: 6.2.11.5, Test number: 1
For every font embedded in a conforming file and used for rendering, the glyph width information in the font dictionary and in the embedded font program shall be consistent.
Glyph width 274.4140625 in the embedded font program is not consistent with the Widths entry of the font dictionary (value 272)
Completed
Last Updated: 13 Feb 2026 09:39 by ADMIN
Release 2026.1.210 (2026 Q1)
Introduce support for TimeStampServer when using the PdfStreamSigner.
Completed
Last Updated: 04 Mar 2026 13:31 by ADMIN
Release 2026.1.304 (2026 Q1)
Stacktrace: 
   at System.Linq.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)
   at System.Linq.Enumerable.Cast[TResult](IEnumerable source)
   at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.MarkedContents.StructElementObject.CopyPropertiesTo(PostScriptReader reader, StructureElementsImportContext context, StructureElement element)
   at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.MarkedContents.StructElementObject.CopyPropertiesTo(PostScriptReader reader, StructureElementsImportContext context, StructureElement element)
   at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.MarkedContents.StructElementObject.CopyPropertiesTo(PostScriptReader reader, StructureElementsImportContext context, StructureElement element)
   at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.MarkedContents.StructTreeChildrenObject.CopyPropertiesTo(PostScriptReader reader, StructureElementsImportContext context, StructureElementsCollection childElements)
   at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.MarkedContents.StructTreeRootObject.CopyPropertiesTo(PostScriptReader reader, StructureElementsImportContext context)
   at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.DocumentStructure.DocumentCatalog.CopyStructureTreeTo(PostScriptReader reader, IRadFixedDocumentImportContext context)
   at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.DocumentStructure.DocumentCatalog.CopyPropertiesTo(PostScriptReader reader, IRadFixedDocumentImportContext context)
   at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Import.RadFixedDocumentImportContext.BeginImportOverride()
   at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Import.BaseImportContext.BeginImport(Stream pdfFileStream)
   at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Import.PdfImporter.Import(Stream input, IPdfImportContext context)
   at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.PdfFormatProvider.<>c__DisplayClass19_0.<ImportOverride>b__0()
   at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.ExceptionHandling.ExecutionHandler.TryHandleExecution[E](Action operation)
   at Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.PdfFormatProvider.ImportOverride(Stream input, CancellationToken cancellationToken)
   at Telerik.Windows.Documents.Common.FormatProviders.FormatProviderBase`1.Import(Stream input, Nullable`1 timeout)
Completed
Last Updated: 04 Mar 2026 13:48 by ADMIN
Release 2026.1.304 (2026 Q1)

With the current implementation, the compression setting is omitted:

  • streamWriter.Settings.StreamCompression
Completed
Last Updated: 04 Mar 2026 13:48 by ADMIN
Release 2026.1.304 (2026 Q1)
The issue is that the document contains incorrect data that the CrossReferenceStream.LoadReferences method cannot parse.
Duplicated
Last Updated: 02 Apr 2026 12:59 by ADMIN

When using Telerik Document Processing (PdfProcessing) for embedding Factur-X invoices, the produced PDF document is Non‑compliant with PDF-AF / Factur‑X according to the following validator: 

https://www.superpdp.tech/outils/validateur-facture-electronique/ 

Completed
Last Updated: 02 Apr 2026 11:47 by ADMIN
Release 2026.1.402 (2026 Q1)

After merging several PDF documents, some pages are blank indicating the following error:

Completed
Last Updated: 02 Apr 2026 11:47 by ADMIN
Release 2026.1.402 (2026 Q1)
System.InvalidCastException: 'Unable to cast object of type 'Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Types.PdfStream' to type 'Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Elements.MarkedContents.ReferencedObject'.'
Completed
Last Updated: 02 Apr 2026 11:49 by ADMIN
Release 2026.1.402 (2026 Q1)
When importing a document with an EmbeddedFile without a Subtype value.
Unplanned
Last Updated: 27 Mar 2026 14:04 by Benjamin
Created by: Benjamin
Comments: 0
Category: PdfProcessing
Type: Feature Request
1

https://loc.gov/preservation/digital/formats/fdd/fdd000532.shtml

PDF/A‑4f is a version of PDF/A designed for archival storage that:

  • Ensures long‑term visual and structural preservation
  • Is based on modern PDF 2.0
  • Allows embedded files (attachments) that are also archival‑compliant