По долгу службы мне приходится программировать на C#. Однажды передо мной встала задача написать модуль, который бы генерировал PDF документы "на лету". После сравнительного анализа различных библиотек я остановился на PDFSharp потому, что она позволяет вставлять картинки, работать с таблицами и, самое главное, в ней реализован компонент для просмотра сгенерированных документов.