Completed
Last Updated: 22 May 2025 14:26 by Diego
Release 2025.2.520 (2025 Q2)
Wrong font loading when FontFile2 is CFF (Compact Font Format).
Completed
Last Updated: 15 Aug 2025 13:49 by ADMIN
Release 2025.3.806 (2025 Q3)

The PDF/A-1 standard uses the PDF Reference 1.4 and specifies two levels of compliance:

- PDF/A-1b - Its goal is to ensure reliable reproduction of the visual appearance of the document.

- PDF/A-1a - Its objective is to ensure that documents content can be searched and re-purposed. This compliance level has some additional requirements:

  • Document structure must be included.
  • Tagged PDF.
  • Unicode character maps
  • Language specification.

Since the PdfProcessing and its PdfFormatProvider is compliant with the PDF Reference 1.7. , the produced documents are created with this version as well: 




Completed
Last Updated: 22 May 2025 13:37 by ADMIN
Release 2025.2.520 (2025 Q2)
Handle the import of documents with null elements in the Associated Files (/AF) collection.
Completed
Last Updated: 15 Aug 2025 13:49 by ADMIN
Release 2025.3.806 (2025 Q3)
ADMIN
Created by: Martin
Comments: 0
Category: PdfProcessing
Type: Feature Request
1

Purpose: Long-term archiving of electronic documents with full semantic structure.

  • "A" for Archiving
  • Level "1a" ensures:

    • Tagged PDF (with proper logical structure and reading order)

    • Unicode text for proper text extraction and searchability

    • Embedded fonts (for consistent rendering)

  • Restrictions:

    • No audio/video

    • No encryption

    • No JavaScript

    • No external content (everything must be self-contained)

  • Based on: PDF 1.4 (Acrobat 5)

Unplanned
Last Updated: 03 Jun 2025 10:23 by Rey
Add support for "AcroSendMail:SendMail" named action.
Completed
Last Updated: 15 Aug 2025 13:49 by ADMIN
Release 2025.3.806 (2025 Q3)

It would be great if the SkiaImageExportSettings offer a DocumentUnhandledException event allowing the developer to handle specific errors when exporting to image formats.

This would be an essential improvement in the existing Exception handling mechanism and would enable exporting PDF documents to images even though some parts of the image may not be completely supported: https://docs.telerik.com/devtools/document-processing/libraries/radpdfprocessing/features/handling-document-exceptions 

Unplanned
Last Updated: 11 Aug 2025 08:35 by ADMIN

When importing a document with an invalid creation or modification date, an exception is thrown:

  • FormatException: 'The input string '' was not in a correct format.'
  • ArgumentOutOfRangeException: 'Year, Month, and Day parameters describe an unrepresentable DateTime.'
In Development
Last Updated: 14 Aug 2025 14:11 by Dan
Manually set form field values are not preserved when opened in Adobe Acrobat.
In Development
Last Updated: 09 Sep 2025 11:09 by ADMIN

When you register a font in an ASP.Core project and in a static constructor, the generated PDF document will have this font only the first time you load the web page. Refreshing the page will generate the PDF document but the fonts will be lost.

Note: This worked in the previous version  2025.2.701.

 

In Development
Last Updated: 09 Sep 2025 11:23 by ADMIN

PDF content:

Exported text content:


In Development
Last Updated: 09 Sep 2025 14:09 by ADMIN
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();

Unplanned
Last Updated: 15 Sep 2025 09:57 by David

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

Unplanned
Last Updated: 12 Jan 2017 16:11 by ADMIN
ADMIN
Created by: Deyan
Comments: 0
Category: PdfProcessing
Type: Feature Request
0
From R1 2017 all annotations (including sound and video) are supported for import-export scenarios by using PdfStreamWriter class. 

These feedback item will be opened as we may add API for generating and inserting new sound annotations from scratch in the file.
Completed
Last Updated: 02 Jul 2016 21:05 by ADMIN
When a source RadFixedDocument is merged to a target RadFixedDocument, the content of the source document is cleared.
Completed
Last Updated: 21 Jan 2020 14:56 by ADMIN
Release LIB 2020.1.127 (01/27/2020)
WinAnsiEncoding it is imported as StandardEncoding since WinAnsiEncoding is still not implemented in RadPdfProcessing. 
Completed
Last Updated: 19 Oct 2018 07:12 by ADMIN
ADMIN
Created by: Deyan
Comments: 0
Category: PdfProcessing
Type: Feature Request
0
 This is content stream operator that is used to close, fill and then stroke a PDF path geometry.

Available in R3 2018 SP1 release.
Completed
Last Updated: 04 Nov 2021 13:33 by ADMIN
Release R2 2020
When images are added to the document with non-default quality (PdfExportSettings.ImageQuality different that ImageQuality.High) , they are re-encoded, which uses a lot of memory and may cause OutOfMemoryException for large images.
Workaround (works when inserting big JPEG images): In this case ImageQuality.High may be used and RadPdfProcessing will decode only the image headers to insert the image into the PDF file. As image pixels are not decoded with ImageQuality.High, there will be no OutOfMemoryException.
Unplanned
Last Updated: 13 Jan 2017 15:09 by ADMIN
ADMIN
Created by: Deyan
Comments: 0
Category: PdfProcessing
Type: Feature Request
0
This would allow creating documents with preferences such us HideToolbar, HideMenubar, FitWindow, PrintScaling and all other viewer preferences specified in PDF format specification.
Unplanned
Last Updated: 19 Oct 2021 06:43 by ADMIN
OutOfMemoryException is thrown when generating PDF with many pages each of which contains images, as all of the document model data is in-memory.

The issue is fixed with the new PdfStreamWriter API. As an example, you may see the attached demo to the following feedback item:
https://feedback.telerik.com/Project/184/Feedback/Details/213503-pdfprocessing-optimize-pdfstreamwriter-cache-in-order-to-reduce-memory-when-writ

Available in LIB version: 2017.1.320