Currently, when we parse inline image dictionaries we rely on the assumption that the colorspace will be PdfName. However, there are files with complex colorspaces that are PdfArray and InvalidCastException is thrown. All the content after this exception is lost and not visualized by RadPdfViewer.
Currently, all images are decoded and preserved in RGBA format (32 bits for each pixel). However, there are files that optimize their images by preserving them with 1 bit for each pixel. In WPF we may create monochrome System.Windows.Media.ImageSource that would optimize the performance and memory consumption when rendering such images. Available in R1 2018 Official Release Version.
FixedDocumentPresenter could be TemplateBound to PDFViewer's Background property. Available in LIB version: 2016.3.1205
When there is no ToUnicode CMap, the text from the Simple Font instance should be extracted by mapping the glyph name to its corresponding charcode according to Adobe Glyph List. Additionally, the Differences array should be included in these calculations when there is custom encoding. The current implementation of RadPdfViewer makes ToString to the original char id byte value which leads to wrong characters.
The instances are kept in GeometryRenderer cache and each time the content stream is parsed new PathGeometry instances are added to GeometyRenderer store Dictionary field. Available in R1 2017 Official Release Version.
"Save As" is common functionality in most of the popular PDF Viewers. It should save the currently loaded document to a file. Workaround: Currently there is SDK demonstrating how to add such functionality: https://github.com/telerik/xaml-sdk/tree/master/PdfViewer/PdfViewerCustomSaveCommand Available in R3 2017 Official Release Version.
Implement import and export of content with Type0Font with GBK-EUC-H encoding.
Even small documents (~30 kb) containing images encoded with CCITTFaxDecode filter can take about 10 seconds to be opened. In 2014 Q1 SP1 such documents load faster.
The issue is caused by memory optimization that requires loading page content only for the visible pages. In order to fix the issue and still benefit from the memory optimization, we are introducing setter in FixedDocumentPresenterBase VisiblePages property. Now this property needs to be set each time the visible pages are changing in custom presenter implementation. Setting VisiblePages ensures that all visible pages content will be loaded correctly.
The text appears disordered due to wrong calculations of the glyph geometries.
Add support for importing and filling interactive forms. Interactive Forms content is visualized read-only in RadPdfViewer UI with R1 2017 Release Available in R3 2017 Official Release Version.
Parsing the wrong content stream in RadPdfViewer results in handled exception and this way some of the PDF content is missing when rendering the page.
Document cannot be loaded because the Encrypt property is not set and is null.
The performance of loading the thumbnails is decreased with the removing of the cache in PdfViewer. Possible reason is that the pages are no longer loaded asynchronously. Steps to reproduce: - Open the SDK with the thumbnails for PDFViewer. - Notice that the load of the thumbnails is slow.
Add support for Lab color space. Currently alternate color is used to render the pixels, which may result in incorrect colors.
When printing a document with multiple pages, the pages that are not currently visible will be printed without content.
There is opportunity to further optimize the caching mechanism of the image sources, which will reduce the memory consumption. The fast scrolling in a document containing big images could lead to an OutOfMemoryException. Available in R1 2017 Official Release Version.
If the presenter is changed (for example, by pressing "Fit one full page to window" button) during the inertia of a scroll operation, NullRererenceException is thrown. Fix available in LIB Version 2017.2.627.
With the current implementation, it takes seconds to decode and display JPEG with several megapixels (for example size 4000 x 2000 pixels). The memory consumption when decoding such images also needs improvements. Workaround: Custom DctDecode filter may be implemented and registered in RadPdfViewer. The attached demo shows how this may be achieved by using BitmapImage class to decode the JPEG images instead of the default RadPdfViewer's JpegDecoder.