I spent some of my Labor Day weekend starting to learn Silverlight. I began when BJ asked me to show him how to program a game. We started programming a simple Space Invaders style game. I am going to allow that project to progress at his pace, so I decided to take on a different project to experiment with, a document viewer.
I have been working on a project at work that requires a PDF be embedded in a page, but disallow printing, saving, or copying the document. We discovered GhostScriptâ€™s ability to convert a PDF to a collection of PNG images. It creates a single PNG file for each page in the PDF. This allows only the pages that are viewed to be loaded and we donâ€™t have to worry about applying any digital rights management (DRM toolkits are $$$) to the PDF.
The document viewer takes this collection of PNGâ€™s and embeds them into the viewer, so that they can be rotated, zoomed in on, and browsed.
Check out the demo at http://www.aaronkjackson.com/dev/silverlight/DocumentViewer/.
NOTE: The zoom in feature can hide the button bar. If that happens resize the browser window to a smaller size. I am working on adding scroll bars to prevent this from happening.