While all the pages and components of the control are rendered on the image, the content is completely missing from it. The issue is a regression caused by the migration of the model and its async rendering introduced in R3 2020.
Workaround: Fallback to the old rendering engine:
this.pdfViewer.DefaultImportSettings.UseOldRendering = true;
PdfImportSettings settings = PdfImportSettings.ReadOnDemand;
settings.UseOldRendering = true;
The rendering of the image is not fully parsed and the next attribute cannot be properly read.
System.InvalidCastException: 'Unable to cast object of type 'Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Types.PdfArray' to type 'Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Types.PdfInt'.'
When importing a document with a missing state separator (e.g. linefeed) in the object stream (ObjStm) an exception is thrown: System.InvalidCastException: 'Unable to cast object of type 'Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Types.PdfDictionary' to type 'Telerik.Windows.Documents.Fixed.FormatProviders.Pdf.Model.Types.PdfInt'.'
А possible workaround could be handling the exceptions: Handling Exceptions.
When the first symbol in the text string array is empty the text translation is not taken into account.
/f-0-1 1 Tf
[<>-3775<0006>15<000700080002>15<0009>]TJ
This leads to a letter misplacement (too far from each other or overlapping each other).
A password is asked although Adobe opens the document without one when the document is encrypted with "Encryption of data using the RC4 or AES algorithms with a file encryption key length of 40 bits." - Version 1 (V 1) Revision 2 (R 2).
Similar cases (V1 R3 and V2 R3) are handled in the following item: PdfViewer: A password is asked although Adobe opens the document without one.
Handle import of documents containing Simple fonts with names of entries in the Encoding`s Differences that are not part of the Adobe Glyph List.
According to the PDF Specification (9.10.2 Mapping Character Codes to Unicode Values) if the name is not part of the list: If these methods fail to produce a Unicode value, there is no way to determine what the character code represents.
When importing a document containing a single associated widget annotation merged into the field dictionary the field is skipped on import and an exception is thrown.
According to the PDF Specification: Field Dictionaries: Kids:
An array of indirect references to the immediate children of this field.
In a non-terminal field, the Kids array is required to refer to field dictionaries that are immediate descendants of this field. In a terminal field, the Kids array ordinarily must refer to one or more separate widget annotations that are associated with this field. However, if there is only one associated widget annotation, and its contents have been merged into the field dictionary, Kids must be omitted.
There are missing characters when importing documents containing Standard fonts with a Differences array defined in the Encoding, which contains characters that do not fit in the first 255 glyph definitions in the font. Most of these characters are the ones with an accent such as "ccaron" (č).