Currently, there is no way to know when a new page is created when content "overflows" to the next page This event may be needed in order to generate the header and footer based on the currently generated content. In simple header/footer scenarios, however, this event may not be needed and the headers and footers may be drawn after all pages are generated as described in the comments below.
When trying to create documents simultaneously from different threads (in concurrent scenario), different exceptions are thrown: - NullReferenceException in Telerik.Windows.Documents.Core.Fonts.OpenType.OpenTypeFontSource.ReadTableData[T](UInt32 tag, ReadTableFormatDelegate`1 readTableDelegate) method, - OverflowException in Telerik.Windows.Documents.Core.Fonts.OpenType.Tables.CMapFormat4Table.Read(OpenTypeFontReader reader) method. Available in LIB version: 2017.2.814
System.Uri constructor throws UriFormatException when the text is some http address. Available in LIB Version 2017.2.814.
The PDF format includes a general multimedia framework allowing users to insert and play/visualize different media types. The feature is described on page 755 from PDF Reference 1.7.
The current implementation expects the widths to be integer values and InvalidCastException is thrown when a real number is parsed. Workaround: If the scenario allows, the PdfStreamWriter may be used instead of PdfFormatProvider. More information may be found in the following documentation article: http://docs.telerik.com/devtools/document-processing/libraries/radpdfprocessing/formats-and-conversion/pdf/pdfstreamwriter/overview Available in LIB Version 2017.2.731.
This is because PdfProcessing does not export Annotation Flags and this way all annotations has Print flag set to false. Available in Release Version R2 2017 SP1.
Paint content stream operator ("Do" in PDF specification) currently draws only Image XObjects. We should implement support for Form XObjects.
Available in R2 2017 Release
Currently, only images without transparency may be created with this class. Available in LIB version 2017.1.410.
This leads to keeping a lot of memory when exporting pages from multiple PdfFileSource instances which are created from MemoryStream. Available in LIB version: 2017.1.320
This new API will not read/delete the existing PDF pages content and this would allow performance and memory efficient realization of the following scenarios: - Merge PDF document pages from different PDF files. - Split PDF document pages to separate PDF files. - Append/Prepend PDF content to existing PDF pages. Moreover, as this approach will not require reading/deleting existing PDF page content, it will not depend on complex PDF features and will depend only on the PDF file structure. This will allow processing of PDF documents which use less common PDF features which are currently not supported by the existing PdfProcessing API. Available in R1 2017 Release
The "g" and "G" operators are used for setting color with a single component. Available in R1 2017 Release
Measuring big paragraphs is time consuming and may be optimized.
Currently every text fragment is exported by specifying all its properties. When there are many fragments one after another we may skip specifying the properties for every single fragment. This will improve both memory and time consumption performance.
This missing functionality may be workaround by implementing and registering custom IPdfFilter implementation that decodes JPEG2000 images. The custom decoder may be registered with FiltersManager class and its implementation may be similar to RadPdfViewers JpxDecoder SDK example implementation: - https://github.com/telerik/xaml-sdk/blob/master/PdfViewer/CustomDecoder/JpxDecoder.cs
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.
As one can use annotations we should support attachments per page or per pdf-file.
This is happening when the pages in the document has content arrays similar to the following: [34 0 R 243 0 R] [34 0 R 245 0 R] [34 0 R 247 0 R] .... As you may notice the content stream 34 0 R is reused and the issue is caused by incorrect caching of content stream indirect objects by their reference.
The issue is reproducible only with nested tables - tables positioned inside some other table cell. When using simple tables the text is always wrapped and rendered correctly. This may be used as a workaround for scenarios which allow replacing nested tables with simple ones.
PDF Editor: the pdfiewer will now have a feature to perform the following: Sort pages by dragging and dropping selected pages. After adding stamps/annotations on the page, user will be able to move around those objects by dragging and dropping.