An InvalidCastException is thrown when importing documents containing outlines with an invalid destination set:
System.InvalidCastException: 'Unable to cast object of type 'Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Types.PdfReal' to type 'Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Types.PdfName'.'
ArgumentOutOfRangeException is thrown when importing a document because of wrongly parsing to Unicode mapping.
System.ArgumentOutOfRangeException: 'Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index'
W % clipping path operator 0 0 m % start of the path construction 596 0 l 596 842 l 0 842 l h % end of the path construction n % path-painting operator
0 0 m 596 0 l 596 842 l 0 842 l h W n
Currently (in the invalid cases), the path construction is skipped on import.
Add support for documents containing RTL (right-to-left) text.
When a TrueType font is defined, the mapping of character codes to glyph indices depends on the built-in cmap table mappings defined in the font and the Encoding property defined in the PDF dictionary.
However, the current implementation maps all characters with cmap tables for Microsoft Symbolic and Macintosh Roman, which causes incorrect mapping results, e.g. space characters are mapped to an Ê glyph.
The issue is also described in the following public item: TryGetCharCode for OpenTypeFont uses wrong cmap and returns wrong charcode.
Workaround: Change the font of the TextBoxField's widget appearance:
foreach (var widget in field.Widgets)
widget.TextProperties.Font = FontsRepository.Helvetica;
For example when some PDF file has uncompressed contents we may import it and apply better compression to the stream objects. Ensure that all the content inside the document is compressed.
This exception corrupts the whole document import. Instead, we should provide Exception handling mechanism which allows the user to import the rest of the content.