Displaying PDF files in Windows Store apps

Displaying PDF files in a mobile apps is a valid use case and there are many iOS and Android app that do it. WinRT has no APIs for displaying PDF files. The only thing you can do with a PDF in WinRT is to display it in the default PDF viewer app using the Windows.System.Launcher.LaunchFileAsync method. This is typicaly not what you want to do. This method takes the user out of your app and more importantly the PDF can be copied, shared, etc.

There are a few 3rd party components for displaying PDF files in Windows Store apps, each has some problems and restrictions.

ComponentOne PDFViewer

ComponentOne has a PDFViewer component as part of their Studio for WinRT XAML package. This package costs $895. There are many limitations when using this component that you need to be aware of. If you want to have more control over the rendered PDF files, you can get all the pages as FrameworkElements and do not need to use the PDFViewer as one monolitic component. It does not support all the fonts and complex documents are rendered really messed up, it was not usable for me at all.

[Read More]
CSharp  PDF  WinRT