In Development
Last Updated: 29 Jul 2025 04:57 by ADMIN

Currently the DocumentInfo property is for export purposes only and meta information about documents is stripped when importing.

According to the PDF specification (ISO 32000), the document info dictionary (often called "metadata" or "Info" dictionary) can include the following standard fields:

Title: The document’s title.
Author: The name of the person who created the document.
Subject: The subject of the document.
Keywords: Keywords associated with the document.
Creator: The application that created the original document.
Producer: The application that converted the document to PDF.
CreationDate: The date and time the document was created.
ModDate: The date and time the document was last modified.
Trapped: Indicates whether the document has been trapped (a printing term).

These fields are stored in the PDF’s Info dictionary and are used by PDF viewers for display, search, and indexing.

 
Unplanned
Last Updated: 28 Jul 2025 06:37 by ADMIN
From the Part 4: PAdES Long Term - PAdES-LTV Profile (ETSI TS 102 778-4) Specification: 

"Validation of an electronic signature requires data to validate the signature such as CA certificates, Certificate Revocation List (CRLs) or Certificate status information (OCSP) commonly provided by an online service (referred to in the present document as validation data). If the document is stored and the signatures are to be verifiable long after first created, in particular after the signing certificate has expired, the original validation data may no longer available or there may uncertainty as to what validation data was used when the document was first verified."
Unplanned
Last Updated: 28 Jul 2025 05:39 by Nathan

Paragraphs with a bulleted "Normal" style, but with bullets removed inline, revert to showing bullets after import/export with Telerik Document Processing (DPL)—is not the intended behavior. Inline overrides, such as manually removing bullets from specific paragraphs, should be preserved after processing:

 

In Development
Last Updated: 25 Jul 2025 07:23 by ADMIN
An empty paragraph is exported with different font size than the one coming from its style. The character properties should come from the style system.

Workaround: Add at least one space in each empty paragraph.
In Development
Last Updated: 25 Jul 2025 05:16 by ADMIN

NullReferenceException when inserting a document containing a table with a document variable having a line break (\n) in its value.

Unplanned
Last Updated: 24 Jul 2025 11:55 by ADMIN
SMask.Matte is not applied correctly when exporting to an image.
In Development
Last Updated: 22 Jul 2025 10:25 by ADMIN

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 

In Development
Last Updated: 21 Jul 2025 05:47 by ADMIN

The issue is not reproducible in Q1 2025 (2025.1.205).

In Q2 2025 we introduced the MarkedContent in a RadFixedDocument.

Unplanned
Last Updated: 18 Jul 2025 09:13 by Gilbert

Cached formula values are not respected for the AdditionExpression type.

GetResultValueAsString returns "#NAME?".

Unplanned
Last Updated: 17 Jul 2025 14:16 by Gilbert
Created by: Gilbert
Comments: 0
Category: SpreadProcessing
Type: Feature Request
1
Add support for the RANDBETWEEN function.
Duplicated
Last Updated: 17 Jul 2025 10:41 by ADMIN

Here are the steps:

1. Copy some basic content from Excel (two text cells)

2. Paste the content to the Telerik Blazor Spreadsheet component and save the XLSX file

3. Try importing this file with RadSpreadProcessing

In Development
Last Updated: 17 Jul 2025 09:14 by ADMIN
If the conditional formatting is missing, the copy operation is executed with no errors.
In Development
Last Updated: 16 Jul 2025 12:30 by ADMIN
Created by: Kris
Comments: 0
Category: PdfProcessing
Type: Feature Request
9
PDF/UA (PDF/Universal Accessibility) is the informal name for ISO 14289, the International Standard for accessible PDF technology.
In Development
Last Updated: 14 Jul 2025 06:39 by ADMIN
Handle documents with mismatched font Subtype and FontFile type when exporting PDF to image with SkiaImageFormatProvider.
In Development
Last Updated: 14 Jul 2025 05:38 by ADMIN
ADMIN
Created by: Tanya
Comments: 0
Category: PdfProcessing
Type: Feature Request
1
Implement Viewer related properties in PdfProcessing in order to enable the users to set PrintScaling, Duplex, and other properties which are written in the Pdf Format specification as Interactive Features. 

ViewerPreferences are written a document's catalog. Check p.577 from pdf reference format specification, version 1.7
Unplanned
Last Updated: 11 Jul 2025 09:57 by Jennifer
This is the code for generating the document from scratch: 
        static void Main(string[] args)
        {
          
            Telerik.Windows.Documents.Flow.Model.RadFlowDocument document = CreateDocument();
            Telerik.Windows.Documents.Flow.FormatProviders.Docx.DocxFormatProvider provider = new Telerik.Windows.Documents.Flow.FormatProviders.Docx.DocxFormatProvider();
            string outputFilePath = "output.docx";
            File.Delete(outputFilePath);

            using (Stream output = File.OpenWrite(outputFilePath))
            {
                provider.Export(document, output, TimeSpan.FromSeconds(10));
            } 

            Process.Start(new ProcessStartInfo() { FileName = outputFilePath, UseShellExecute = true });
        }

        //Not working example
        private static RadFlowDocument CreateDocument()
        {
            int FullPercentWidth = 100;
            var document = new RadFlowDocument();
            var editor = new RadFlowDocumentEditor(document);

            editor.InsertSection();

            var header = document.Sections.First().Headers.Add().Blocks.AddParagraph();
            header.TextAlignment = Alignment.Center;

            editor.MoveToParagraphStart(header);
            editor.InsertLine("Dissemination Label");

            var br = new Break(document);
            header.Inlines.Add(br);

            editor.MoveToParagraphEnd(header);
            editor.InsertText("Test");

            editor.MoveToParagraphStart(document.Sections.First().Blocks.AddParagraph());

            editor.InsertParagraph();
            editor.InsertLine("First Header");
            editor.InsertLine("Second Header");

            editor.TableFormatting.StyleId = BuiltInStyleNames.TableGridStyleId;
            document.StyleRepository.AddBuiltInStyle(BuiltInStyleNames.TableGridStyleId);

            Table table = editor.InsertTable();
            table.PreferredWidth = new TableWidthUnit(TableWidthUnitType.Percent, FullPercentWidth);
            table.LayoutType = TableLayoutType.AutoFit;

            TableRow headerRow = table.Rows.AddTableRow();

            var cell = headerRow.Cells.AddTableCell();
            var cellParagraph = cell.Blocks.AddParagraph();
            _ = cellParagraph.Inlines.AddRun("ID");

            var cell2 = headerRow.Cells.AddTableCell();
            var cellParagraph2 = cell2.Blocks.AddParagraph();
            _ = cellParagraph2.Inlines.AddRun("Title");

            var cell3 = headerRow.Cells.AddTableCell();
            var cellParagraph3 = cell3.Blocks.AddParagraph();
            _ = cellParagraph3.Inlines.AddRun("Page Number");

            for (var i = 0; i < 3; i++)
            {
                var dataRow = table.Rows.AddTableRow();

                string id = "ID-" + i;

                var cell4 = dataRow.Cells.AddTableCell();
                var cellParagraph4 = cell4.Blocks.AddParagraph();
                _ = cellParagraph4.Inlines.AddRun(id);

                var cell5 = dataRow.Cells.AddTableCell();
                var cellParagraph5 = cell5.Blocks.AddParagraph();
                _ = cellParagraph5.Inlines.AddRun($"Fake Title {i}");

                var cell6 = dataRow.Cells.AddTableCell();
                var cellParagraph6 = cell6.Blocks.AddParagraph();
                editor.MoveToParagraphStart(cellParagraph6);
                editor.InsertField($"PAGEREF bookmark-{id}", string.Empty);
            }

            for (var i = 0; i < 3; i++)
            {
                var id = "ID-" + i;

                var section = document.Sections.AddSection();

                section.SectionType = SectionType.NextPage;

                var header2 = document.Sections.Count == 1
                    ? document.Sections.AddSection().Headers.Add().Blocks.AddParagraph()
                    : document.Sections.Last().Headers.Add().Blocks.AddParagraph();

                editor.MoveToParagraphStart(header2);
                editor.InsertLine("Dissemination Label");
                editor.InsertBreak(BreakType.LineBreak);

                editor.InsertLine("Fake Header");
                editor.InsertText("Display name");

                var table2 = new Table(document)
                {
                    PreferredWidth = new TableWidthUnit(TableWidthUnitType.Percent, FullPercentWidth),
                    LayoutType = TableLayoutType.AutoFit
                };

                var headerRow2 = table2.Rows.AddTableRow();

                headerRow2.CanSplit = false;

                var headerCell = headerRow2.Cells.AddTableCell();
                var headerParagraph = headerCell.Blocks.AddParagraph();

                headerParagraph.Inlines.AddRun("Title").FontWeight = FontWeights.Bold;
                headerParagraph.Spacing.SpacingAfter = 0;

                headerCell.ColumnSpan = 3;

                table2.LayoutType = TableLayoutType.FixedWidth;

                var row = InsertRow(table2);

                var cell7 = row.Cells.AddTableCell();
                var cellParagraph7 = cell7.Blocks.AddParagraph();
                _ = cellParagraph7.Inlines.AddRun("Stuff and things");

                var cell8 = row.Cells.AddTableCell();
                var cellParagraph8 = cell8.Blocks.AddParagraph();
                _ = cellParagraph8.Inlines.AddRun($"Stuff and things-{id}");
                editor.InsertBookmark($"bookmark-{id}");

                _ = InsertRow(table2);
                _ = InsertRow(table2);

                document.Sections.Last().Blocks.Add(table2);

                var table3 = new Table(document)
                {
                    PreferredWidth = new TableWidthUnit(TableWidthUnitType.Percent, FullPercentWidth),
                    LayoutType = TableLayoutType.AutoFit
                };

                var fakeText = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed laoreet finibus nulla sit amet consectetur. Fusce dignissim sapien congue augue hendrerit, eu rutrum orci lacinia. Maecenas sit amet augue ut arcu consequat molestie ac pretium nulla. Donec venenatis rhoncus pulvinar. Aliquam vel est vitae lacus porta aliquam. Morbi aliquet vulputate turpis, ut vulputate elit accumsan at. Vivamus interdum dictum arcu vel euismod. Curabitur commodo eu nisi ut ultrices. Duis at auctor eros. Vivamus et metus ligula. Vestibulum feugiat velit a feugiat sodales. Sed vitae urna sodales, faucibus felis non, sagittis diam.\r\n\r\nPraesent turpis est, aliquet consectetur felis et, pharetra placerat ipsum. Sed at consectetur metus. Integer dictum iaculis libero, interdum vehicula ipsum convallis a. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed pretium ac quam id finibus. Maecenas bibendum magna vel rhoncus eleifend. Etiam nec ante nulla. Etiam lacinia vulputate quam, et ullamcorper magna fermentum quis. Suspendisse potenti. Quisque quis nulla non velit lacinia laoreet. Fusce et lacinia enim, sit amet rhoncus eros. Etiam placerat fringilla nibh ac commodo.\r\n\r\nMorbi ac commodo elit. Sed a leo quis sem convallis volutpat eget et nunc. In laoreet eleifend ullamcorper. Phasellus pharetra molestie eleifend. Cras consequat risus ac est accumsan sagittis. Suspendisse facilisis ultrices ipsum, vitae porttitor augue tincidunt ac. Ut sagittis nisl tristique efficitur aliquam. Pellentesque molestie mauris id ipsum lacinia, a vehicula eros molestie. Aliquam quis sagittis tellus.";

                for (var j = 0; j < 2; j++)
                {
                    var row2 = InsertRow(table3);
                    var cell9 = row2.Cells.AddTableCell();
                    var cellParagraph9 = cell9.Blocks.AddParagraph();
                    _ = cellParagraph9.Inlines.AddRun(fakeText);
                }

                document.Sections.Last().Blocks.Add(table3);
            }

            FlowExtensibilityManager.NumberingFieldsProvider = new NumberingFieldsProvider();
            foreach (var s in document.Sections)
            {
                 s.Footers.Add();
                Footer f = s.Footers.Default;

                Paragraph paragraph = f.Blocks.AddParagraph();
                paragraph.TextAlignment = Alignment.Right;

                editor.MoveToParagraphStart(paragraph);

                editor.InsertText("Page ");
                editor.InsertField("PAGE", string.Empty);
                editor.InsertText(" of ");
                editor.InsertField("NUMPAGES", string.Empty);

                var paragrpah2 = s.Blocks.AddParagraph();
                editor.MoveToParagraphStart(paragrpah2);
            }



            document.UpdateFields();

            return document;
        }
        private static TableRow InsertRow(Table table)
        {
            TableRow row = new TableRow(table.Document);
            table.Rows.Add(row);
            return row;
        }
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.'

In Development
Last Updated: 08 Jul 2025 12:35 by ADMIN
PdfFormarProvider: Justified text in a table cell is cropped on export.
In Development
Last Updated: 08 Jul 2025 09:48 by ADMIN
Missing spaces from TextFragments when exporting to plain text.
In Development
Last Updated: 08 Jul 2025 09:10 by ADMIN
1 2 3 4 5 6