Completed
Last Updated: 12 Feb 2025 15:20 by ADMIN
Release 2025.1.205 (2025 Q1)

When importing a document with a missing state separator (e.g. linefeed) in the object stream (ObjStm) an exception is thrown: System.InvalidCastException: 'Unable to cast object of type 'Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Types.PdfDictionary' to type 'Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Types.PdfInt'.'

А possible workaround could be handling the exceptions: Handling Exceptions.

Unplanned
Last Updated: 20 Oct 2021 08:04 by ADMIN

Wrong calculations of new lines and white spaces between characters due to a wrong calculated character`s BoundingRect.

This results in missing whitespaces and/or characters split between lines.

Duplicated
Last Updated: 17 Dec 2021 08:14 by ADMIN
Created by: David
Comments: 1
Category: PdfProcessing
Type: Feature Request
2

Currently, a known limitation is:

  • RadPdfProcessing currently supports only signing of a single signature field. Signing more than one signature field will result in invalidation of all signatures except the last one.

Please support signing multiple signature fields. We are heading into 2022 and it's more essential than ever to be able to sign multiple signature fields.

Unplanned
Last Updated: 20 Jan 2022 08:12 by ADMIN
Created by: Lauren
Comments: 0
Category: PdfProcessing
Type: Bug Report
2

list-style is not imported correctly when importing from CSS classes defined in the same file

Case 1: importing from CSS classes defined in the same file

Case 2: inline style

<html>
<head>
</head>
<body>
<p>This is an unordered list with list-style:none</p>
<ul>
<li style="list-style:none;">Item 1</li>
<li style="list-style:none;">Item 2</li>
</ul>
<p>This is an unordered list with list-style:disc</p>
<ul>
<li style="list-style:disc;">Disc Item 1</li>
<li style="list-style:disc;">Disc Item 2</li>
<li>Some nested list </li>
</ul>
</body>
</html>

 

Completed
Last Updated: 14 Feb 2023 14:40 by ADMIN
Release R3 2023 SP1
According to the PDF Specification: The definition of an indirect object in a PDF file consists of its object number and generation number, followed by the value of the object bracketed between the keywords obj and endobj. For example, the definition:
12 0 obj
( Brillig )
endobj
An invalid case:
2545 0 obj
<<
/Type /Page
/Parent 2537 0 R
/Contents 8 0 R
/Resources 2538 0 R
>>
2546 0 obj
....
Completed
Last Updated: 18 Jul 2022 08:45 by ADMIN
Release R3 2022
Created by: David
Comments: 3
Category: PdfProcessing
Type: Feature Request
2
When exporting a PDF file, parts of the page content could be optimized by encoding it into a compressed stream and/or avoiding inserting multiple times the same font file.
Unplanned
Last Updated: 20 Jul 2022 09:13 by Tony

Allow table spiting to be done on whole rows instead of splitting the content of the rows.

Attached is a small project that shows a possible workaround.

Unplanned
Last Updated: 27 Sep 2022 06:36 by ADMIN
ADMIN
Created by: Martin
Comments: 0
Category: PdfProcessing
Type: Feature Request
2

From the PDF Specification: "An ink annotation represents a freehand “scribble” composed of one or more disjoint paths. When opened, it displays a pop-up window containing the text of the associated note."

Unplanned
Last Updated: 28 Sep 2022 07:08 by Tania

When writing a RadFixedPage containing widgets using the PdfPageStreamWriter.WriteContent() method an exception is thrown.

The exception: System.ArgumentNullException: 'Value cannot be null. Parameter name: context'

Completed
Last Updated: 31 Mar 2023 06:49 by ADMIN
Release R2 2023
When the image within a document is compressed with FlateDecode and there is no specific ImageFilterTypes set the image data is exported with FlateDecode compression but a wrong DCTDecode filter name is set which leads to a broken PDF file.

Workaround: Set explicitly the the ImageCompression filter:
PdfFormatProvider provider = new PdfFormatProvider();
provider.ExportSettings.ImageCompression = new ImageFilterTypes[] { ImageFilterTypes.FlateDecode };
Unplanned
Last Updated: 19 Apr 2023 11:04 by Martin
With the current implementation, the documents containing Standard Fonts are not PDF/A compliant (check How to Comply with PDF/A Standard).
Unplanned
Last Updated: 16 Aug 2023 08:17 by Nitya
Created by: Nitya
Comments: 0
Category: PdfProcessing
Type: Feature Request
2
When importing and merging documents the fonts are extracted directly from the files and can duplicate if the files contain the same fonts.
Completed
Last Updated: 27 Sep 2023 08:28 by ADMIN
Release R3 2023

InvalidCastException caused by colorspace defined as nested indirect objects.

Unable to cast object of type 'Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Types.IndirectReference' to type 'Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Types.PdfName'.

Unplanned
Last Updated: 08 Apr 2024 12:03 by ADMIN

NumberedHierarchical list type has inconsistent indentation after bullets.

Completed
Last Updated: 13 Nov 2024 08:50 by ADMIN
Release 2024.4.1106 (Q4 2024)
Export to image is blocked when Export method is used instead of ExportAsync.
In Development
Last Updated: 29 Mar 2024 10:37 by ADMIN
SearchResult's GetWordBoundingRect returns the Rect of only the first word of the whole match.
In Development
Last Updated: 12 Feb 2025 15:18 by ADMIN
Scheduled for 2025.1.205 (2025 Q1)

This is the code snippet for reproducing the error message: 

        static void Main(string[] args)
        {
            string filePath = "Lorem ipsum dolor sit amet.pdf";
            //load a random document
            PdfFormatProvider provider = new PdfFormatProvider();
            RadFixedDocument originalDocument;
            using (Stream stream = File.OpenRead(filePath))
            {
                originalDocument = provider.Import(stream);
            }
            //draw something on the first page
            FixedContentEditor editor = new FixedContentEditor(originalDocument.Pages[0]);
            editor.GraphicProperties.IsFilled = true;
            editor.GraphicProperties.FillColor = RgbColors.Black;
            Telerik.Documents.Primitives.Rect Rect = new Telerik.Documents.Primitives.Rect(10, 10, 200, 100);
            editor.DrawRectangle(Rect);

            //export the pages as images and build a brand new document from the images
            SkiaImageFormatProvider imageProvider = new SkiaImageFormatProvider();
            imageProvider.ExportSettings.ImageFormat = SkiaImageFormat.Jpeg;
            imageProvider.ExportSettings.ScaleFactor = 0.8;
            imageProvider.ExportSettings.Quality = 80;


            RadFixedDocument doc = new RadFixedDocument();
            foreach (RadFixedPage page in originalDocument.Pages)
            {
                byte[] resultImage = imageProvider.Export(page);
                RadFixedPage pdfpage = doc.Pages.AddPage();
                editor = new FixedContentEditor(pdfpage);
                Stream imageStream = new MemoryStream(resultImage);
                editor.DrawImage(imageStream);
            }

            //export the pdf built from the images
            PdfFormatProvider pdfFormatProvider = new PdfFormatProvider();
            string outputPdf = @"output.pdf";
            File.Delete(outputPdf);
            using (Stream output = File.OpenWrite(outputPdf))
            {
                pdfFormatProvider.Export(doc, output);
            }
            Process.Start(new ProcessStartInfo() { FileName = outputPdf, UseShellExecute = true });
        }

Workaround:

        static void Main(string[] args)
        {
            string filePath = "Lorem ipsum dolor sit amet.pdf";
            //load a random document
            PdfFormatProvider provider = new PdfFormatProvider();
            RadFixedDocument originalDocument;
            using (Stream stream = File.OpenRead(filePath))
            {
                originalDocument = provider.Import(stream);
            }
            //draw something on the first page
            FixedContentEditor editor = new FixedContentEditor(originalDocument.Pages[0]);
            editor.GraphicProperties.IsFilled = true;
            editor.GraphicProperties.FillColor = RgbColors.Black;
            Telerik.Documents.Primitives.Rect Rect = new Telerik.Documents.Primitives.Rect(10, 10, 200, 100);
            editor.DrawRectangle(Rect);

            using (Stream output = File.OpenWrite(filePath))
            {
                provider.Export(originalDocument, output);
            }

            using (Stream stream = File.OpenRead(filePath))
            {
                originalDocument = provider.Import(stream);
            }
            //export the pages as images and build a brand new document from the images
            SkiaImageFormatProvider imageProvider = new SkiaImageFormatProvider();
            imageProvider.ExportSettings.ImageFormat = SkiaImageFormat.Jpeg;
            imageProvider.ExportSettings.ScaleFactor = 0.8;
            imageProvider.ExportSettings.Quality = 80;


            RadFixedDocument doc = new RadFixedDocument();
            foreach (RadFixedPage page in originalDocument.Pages)
            {
                byte[] resultImage = imageProvider.Export(page);
                RadFixedPage pdfpage = doc.Pages.AddPage();
                editor = new FixedContentEditor(pdfpage);
                Stream imageStream = new MemoryStream(resultImage);
                editor.DrawImage(imageStream);
            }

            //export the pdf built from the images
            PdfFormatProvider pdfFormatProvider = new PdfFormatProvider();
            string outputPdf = @"output.pdf";
            File.Delete(outputPdf);
            using (Stream output = File.OpenWrite(outputPdf))
            {
                pdfFormatProvider.Export(doc, output);
            }
            Process.Start(new ProcessStartInfo() { FileName = outputPdf, UseShellExecute = true });
        }

Duplicated
Last Updated: 21 May 2024 13:54 by ADMIN
Created by: Petr
Comments: 2
Category: PdfProcessing
Type: Feature Request
2

Hi Telerik,

Could you add abbility to contact TSA (timestamp) server and sign PDF document with certificate (which is currently supported) and signed timestamp?

Thank you

Completed
Last Updated: 02 Aug 2024 11:09 by ADMIN
Release 2024.3.802 (2024 Q3)
Add support for Dotted, Dashed, and DashSmallGap borders.
Completed
Last Updated: 02 Aug 2024 11:09 by ADMIN
Release 2024.3.802 (2024 Q3)

Error message:

System.InvalidCastException: 'Unable to cast object of type 'Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Types.PdfHexString' to type 'Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Types.PdfLiteralString'.'