A big part of the application I am working on at the moment is viewing PDF documents. It is a WPF application for a change and I picked up the task of resolving some bugs around the use of Adobe Acrobat Reader. We were following the accepted model of hosting the Acrobat ActiveX control in a WinFormsHost control. The killer for us was the fact that Acrobat has a fixed limit to the number of files that can be opened in a session, and we are regenerating files as part of the app and re-opening them. There were some other issues around installed versions on users desktop, but the fixed file limit topped all of these. So I started looking around for alternatives and after a lot of Googling and blog reading finally found PDFView4NET from O2 Solutions.
I am working on some getting started articles that will follow soon, but I wanted to get something out there that might help others find this tool, but more importantly to communicate the great support experience I had with these guys. The library and in particular the PDFPageView control is easy to use and there are plenty of samples to help you get started, but the best thing is the response from the support guys. The control works well and we had no major problems with the general output, however the documents we generate are legal documents so we had to be ultra fussy about what is displayed on screen and we had a few minor issues to report. Also we are implementing MVVM and some of the properties we wanted to set through binding weren’t dependency properties. I contacted the O2 Solutions support team with these issues and they not only responded very quickly but the very next day I had a new set of binaries with most of our issues resolved and the properties I mentioned could now be controlled through binding. Over the next couple of days I had other suggestions and a few more really trivial issues, which were also dealt with quickly with new binaries delivered just as prompt.
I can’t recommend these guys enough, and the product is excellent we have it integrated in our application and no longer any dependencies on Acrobat and all the issues we had with it. Our support team are really happy that they don’t have to deal with the job of making sure hundreds of desktops have the correct version of Acrobat installed and locking them down to prevent incompatible versions from being installed by users. I and the other developers on the team are really happy we don’t have to deal with the COM Interop issues, and particularly with inconsistent behaviour of Acrobat under automation in our acceptance tests.
If you are working on a WPF, WinForms (and very soon Silverlight) and need to display or work with PDF files then make sure you look at the PDF4NET range of products.