Introduction

This project grew out of a need for a PDF library that was compatible with Silverlight and would allow for the generation of PDF files without the need to send data back to a server for processing. Silverlight 3 introduced the concept of “Out of Browser” mode, which allows Silverlight applications to be run in a similar manner to desktop applications, so it is now possible to run Silverlight application while not connected to the internet.

In addition to Silverlight compatibility, the project stated 4 main goals:

  • Lightweight – as to not bloat a Silverlight application
  • Fast – to prevent lag when generating PDFs on the fly
  • Easy to use – no need for much prior knowledge of PDF technology
  • Native – no need for anything external for PDF generation

Fortunately, sharpPDF already existed meeting most of these goals, so a huge thanks to the creators of sharpPDF. This library provides the base for this port and is available at

http://sharppdf.sourceforge.net/

sharpPDF was originally written for the .NET platform, but it was adapted for Silverlight and CoreCLR. Unfortunately, sharpPDF depends upon classes not available in the CoreCLR, namely the image library. Again, another project came in handy here, namely FJCore. This project provides the much needed feature for imaging in PDFs through its JPEG codec for encoding and decoding JPEGs in Silverlight, so yet another huge thanks to the creators of FJCore. This library is available at

http://code.google.com/p/fjcore/