Sometime last year I wrote a post on PDF Viewers and the difficulty in choosing one that was inexpensive, easy to implement and performant. Since that time DevExpress released a PDF Viewer for WinForms, WPF and XAML, so I thought it time to add them into the equation.
– – – – – – – –
Ok, it was a simple enough feature to add. A viewer that would allow PDF’s to be shown on screen. Already in my toolkit I had the SyncFusion control, but after a couple of quick tests I found the speed to be woeful and thus started the painful process of looking for a control to use.
A number of vendors offer PDF creation, manipulation, annotations etc, but not viewing. I was most disappointed that DevExpress did not have anything in their swag, which means the project in question is now only 99% DX ๐ This is the cool part, the project can go back to 100% DX ๐
The list came down to
– DevExpress (www.DevExpress.com)
– Gnostice (www.gnostice.com)
– Atalasoft (www.atalasoft.com)
– DynamicPDF (www.dynamicpdf.com)
– Aspose (www.aspose.com)
– ActivePDF (www.activepdf.com)
– Deaja (www.daeja.com)
– Snowbound Software (snowbound.com)
– Bluebeam Q (www.bluebeam.com)
– PDFTron (www.pdftron.com)
– GDPicture (www.gdpicture.com)
– SyncFusion (www.syncfusion.com)
– O2 Solutions (www.o2sol.com)
So what was I looking for ? a .Net Assembly that could be added to my project, capable of adding a control to a WinForm to display/interact/print existing PDF’s. It would be nice to add annotations and stamps to documents someday. Whilst price had to be balanced, licensing was important. Royalty Free distribution is a must.
How would I test? install a demo version of the product, create a viewer control on my form, set the properties, load a pdf, zoom and print. All the PDF’s tested would be live client data, the sort of thing that would be used in the final product, varying in size, content and properties. If the project could not be put together in 30minutes or less then the product was too complicated.
The litmus test is being able to do as much of the above as possible without referring to the documentation.
Round One::
Dismissed straight away because of what I thought were hideous websites were Deaja and Bluebeam. In the world of technology when your primary clients would be developers, you need something that is informative and stylish. Both these products would have been rejected on price/licensing if they had made it through round one, although to be fair, Bluebeam didn’t really fit the bill as far as a .Net library was concerned.
The list continued to get smaller as products whittled down…
Round Two::
: Snowbound – license pricing too high;
: PDFTron – restrictive licensing, too expensive;
: activePDF – confusing web site, licensing model complex and no pricing available
: DynamicPDF – restrictive licensing
: Atalasoft – PDF Reader SDK too expensive (price vs functionaltiy)
The following products made it through to testing
Round Three::
: Syncfusion – easy to implement, very slow in performance
This was the product that started me down the slippery slope of viewers, I was startled that with a $1700 price tag (for single product), the performance was dreadful.
: O2 Solutions – too hard to build a testing demo
After installing the product things look promising, until I tried to add some code. The documentation was poor, it was simply too hard to try and build the demo.
: Aspose – looked really promising, until you try and build a demo !
A single 10mb dll? I was a little surprised by how hard it was to try and create a viewer. There was nothing to add to the toolbox, the website is verbose and confusing, the forums turned up nothing. After 30minutes of trying to get something to happen I simply gave up and put it in the too hard basket.
: Gnostice – easy to implement, crashed in demo app and slow performance
The Gnostice library was easy to install and quick to implement in the project. The methods and properties were discoverable and the demo was built in a matter of minutes, unfortunately when opening one of the PDF’s we got booted with an exception, and other PDF’s were very slow.
: GdPicture – complex product matrix, confusing mix of sdk and plugins, but FAST !
GdPicture nearly got thrown out because of the complicated product matrix, I already had a partner license so I persevered – and glad I did. It looks confusing with the large number of options available, I wasn’t sure which product I needed, or plug-ins, but GdPicture has a royalty-free license, a major plus. GdPicture installed quickly, and a test app could be produced easily. Performance was fantastic. Best of all, it did not get in the way of our interface, a simple container that allowed me to add the buttons and functionality required on the form. If it’s just PDF viewing you want then the $950 license is one of the most economical on the market, if you want image manipulation as well as viewer then GdPicture still hold the lead, however,
The NEW Winner !
: DevExpress – as an existing DevExpress customer the PDF Viewer when released was automatically included in my subscription, however, for a WinForms implementation I would have had to pay just $899 which included a LOT of additional controls, not just PDF. At time of writing, the version of the PDF Viewer worked extremely well, it was faster than everyone tested except GdPicture, but the royalty free licensing makes it really attractive. I was able to drag the control onto my form and set a few properties, everything worked, but what was really cool, was the ability (from the SmartTag) to auto create either a Toolbar or Ribbon bar with file, navigation and zoom functionality.
– – – – – – – – –
In summary, the majority of vendors seem to favour a limited license instead of a royalty free one, which was disappointing, a number seemed to think that high pricing was the way to go. I still think for wanting a basic feature there are too many hoops to jump through, especially when you consider that PDF Viewing on OS X, iOS (iPhone/iPad) is native, no additional libraries or costs required. It also seems component vendors need to think about their web sites when offering some of this stuff, it is a jungle out there.
I do hope that DevExpress have a note on a story board somewhere that shows “create pdf viewer” !
It was really encouraging to see DevExpress enter the market with a viewer early 2013 (beta) and in less than 12 months deliver a low cost, powerful PDF Viewer.