Create PDF documents based on template

It's possible to create PDF documents from scratch with products like iTextSharp. Those libraries work great, but your code becomes a mess! You often have to create every single element in the document from code, paragraphs, runs, images, etc. Push through and you'll get things done, but how are you ever going to maintain that piece of code? Will you even be able to read an understand it after six months? What about someone else?
 
It's much cleaner to separate your document/report markup from your code. Create a template for your report first, in a separate document, than use a document generator to load the template, pass the data and have the generator merge the two together.
 
This way:
  • your code stays clean and readable, also when not having looked at it for a long time
  • your document-markup sits in a separate document and, depending on its format, can even be maintained by business people
  • you only need to worry about retrieving the data and invoking the generator
We (Docati) provide such a document generation solution:
  • It's available as a .NET library or as a webservice (supporting both SOAP/xml and REST/json)
  • Uses Word-documents as templates (everyone who knows Word, knows how to create templates)
  • Supports data formatting, lists/tables, images, conditional content, etc.
  • Produces Word-documents (docx) and PDF
Docati also has a very clean and reasonable licensing model: no licenses per developer or machine, just a single licence and you're good to go!
 
You can find more information here: www.docati.com