Some files when opened with PdfViewer will throw a KeyNotFoundException which will be handled. Parts of the text in the file might or might not be missing.
Customers are reporting an issue when trying to copy content in an application hosted on a remote machine (there are reports using TigerVNC and Citrix). The exception is thrown from the Clipboard class with a message: OpenClipboard failed (Exception from HRESULT: 0x800401D0 (CLIPBRD_E_CANT_OPEN)). It seems like such a behavior could be reproduced when the clipboard is already opened by another application. Here is a discussion on the matter: https://stackoverflow.com/questions/68666/clipbrd-e-cant-open-error-when-setting-the-clipboard-from-net Fix available in LIB Version 2018.3.1029.
This might result in invisible annotations.
When the file has an annotation with a destination and this destination is missing from the destinations (Dests) collection of the catalogue, KeyNotFoundException is thrown when you try to scroll to the page where the annotation is located. A better behavior would be for nothing to happen when trying to click on the annotation leading to the destination.
The hierarchical document structure is a means to describe the PDF document structure, which is currently not supported. See 10.6.1 Structure Hierarchy on 856 page of the PDF specification for details. This document structure is an alternative to the standard PDF structure and most non-Adobe software does not support it. The document might have been created with Adobe software like Adobe LiveCycle Designer. Very often the document contains some fallback text in the standard PDF structure like: "Please wait... If this message is not eventually replaced by the proper contents of the document, your PDF viewer may not be able to display this type of document." "The document you are trying to load requires Adobe Reader 8 or higher. You may not have the Adobe Reader installed or your viewing environment may not be properly configured to use Adobe Reader. For information on how to install Adobe Reader and configure your viewing environment please see http://www.adobe.com/go/pdf_forms_configure." "For the best experience, open this PDF portfolio in Acrobat X, Reader X, or later."
Add UI for adding comments and ability to save them. Comments are represented in the document model as text annotations (annotations with Subtype Text).
When a ToUnicode CMap is defined for Simple Font (TrueType or Type1 font) which maps font character codes to two or more Unicode character values, the extracted text should contain the whole set of characters defined in the mappings. The current implementation of RadPdfViewer takes the first character specified in the ToUnicode mapping which leads to missing characters.
The rendering of images with size ~5000/6000 and BitsPerComponent=1 is time-consuming. The scenario is optimized in terms of memory but would be nice to increase the performance as well.
Add built-in localization for the UI control and its tooltips. Currently they can be localized by expanding the XAML of RadPdfViewerToolBar and adding the required resources to the code.
At the moment the AnnotationsHandler, SelectionHandler and PanHandler cannot be removed or disabled. It would be convenient for this to be possible.
This is Unicode (UTF-16BE) encoding for the Adobe-GB1 character collection; contains mappings for all characters in the GB18030-2000 character set. Described on page 443 in Pdf Reference 1.7.
A similar scenario is not defined in the PDF specification but the widgets can be rendered as read-only fields despite the fields associated with them are missing.
Instead, we should not visualize them and they should not be interactable with the mouse. Fix available in LIB Version 2018.2.730.
When importing documents containing Interactive FormFields with an empty collection of Normal state appearances, a NullReferenceException is thrown, which leads to non-editable FormFields in PdfViewer. Fix available in LIB Version 2018.2.730.
It seems that the glyph outlines are rendered wrong for some specific CFF font files. For instance, the issue is reproducible with "Aleo-Light" font.
When importing document containing a destination which points to invalid page reference, KeyNotFoundException is thrown.
RadPdfViewer can not find startxref keyword at the end of a document if the document contains many zero bytes at its end. NotSupportedException is thrown with "Startxref keyword cannot be found" message. Workaround: Trim the ending zero bytes before loading the document to the PdfViewer. This is currently noted in the WinForms KB article: http://www.telerik.com/support/kb/winforms/details/notsupportedexception-startxref-keyword-cannot-be-found-when-loading-pdf-file-in-radpdfviewer-for-winforms
When the Interactive Form Fields are in read-only mode, the user should not be able to change the value of the field. The associated Form Field widgets should not interact with the user, e.g. they should not respond to mouse clicks or change their appearance in response to mouse motions.
When modifying Interactive Forms TextBoxField's value the entered changes are preserved after is clicked out of the TextBoxField's editing area. However the changes are not applied when the click is performed on the save button. As possible workaround you can raise a MouseLeftButtonDown event on the RadPdfViewer and after this execute the SaveAsCommand. For example: private void SaveButton_Click(object sender, RoutedEventArgs e) { MouseButtonEventArgs mouseEventArgs = new MouseButtonEventArgs(Mouse.PrimaryDevice, 0, MouseButton.Left) { RoutedEvent = FrameworkElement.MouseLeftButtonDownEvent }; ((FrameworkElement)this.pdfViewer.FixedDocumentPresenter).RaiseEvent(mouseEventArgs); this.pdfViewer.CommandDescriptors.SaveAsCommandDescriptor.Command.Execute(null); }
When Find Next is used multiple times fast, and pages are still loaded asynchronously, sometimes NullReferenceException is thrown with the following call stack: System.NullReferenceException: Object reference not set to an instance of an object. at Telerik.Windows.Documents.Fixed.Text.TextRecognizer.GetLastCharacter() at Telerik.Windows.Documents.Fixed.Text.TextRecognizer.IsLineBreak(Glyph glyph) at Telerik.Windows.Documents.Fixed.Text.TextRecognizer.ProcessGlyph(Glyph glyph) at Telerik.Windows.Documents.Fixed.Text.TextRecognizer.CreateTextPage(RadFixedPageInternal page) at Telerik.Windows.Documents.Fixed.Text.TextDocument.GetTextPage(Int32 index) at Telerik.Windows.Documents.Fixed.Search.KMPTextSearch.FindNext(TextDocument document, TextPosition startPosition, String searchText, Boolean matchCase, Boolean wholeWordsOnly) at Telerik.Windows.Documents.Fixed.Search.TextSearch.Find(String text, TextSearchOptions options) ...