Aspose.Words was the clear winner for us.

Jon Shipman - TX, USA5 Stern

I needed to programmatically access fields in a Word document, fill them in, then save it as a PDF.  I started by creating a Word document, then manually adding fields to the PDF and using iTextSharp to fill in the fields.  This worked great, but it immediately became clear that maintenance was going to be a nightmare.  Every time there was a change to the Word document, I'd have to recreate all the fields in the new PDF.

Thinking that converting a Word document to a PDF programmatically wouldn't be difficult, I set out to learn how to manipulate the Word document using Open XML.  Open XML is great, but it is not for the faint of heart.  Nothing about it is simple.  After struggling and creating an Open XML solution to create my Word document, I was ready to convert it to a PDF. I quickly found that converting a Word document to a PDF was not going to be easy either.  I really struggled to find a free option.  I found a few suggestions and tried several things.  Many would not fit our situation.  Others wouldn't properly convert the document.  Spacing would be incorrect, table borders would be missing, etc.

I finally decided to purchase a library.  I tested 4 products.  Aspose.Words was the clear winner for us.  First, it was the only one that converted my tests accurately every time.  Second, the licensing model was the best for our situation. Now, I'm not using Open XML at all.  Aspose.Words makes it so easy to fill out the fields.  Converting it to a PDF is one simple line of code.  In my current project Aspose.Words makes it so I don't need to ever create new files at all.  I take my existing Word document, using it as a template, and fill it the fields and convert it to a PDF and stream it to the user all in memory.  No file storage needed.

I give it five stars for making my life so much less complicated.  I see it becoming a "must have" in my software toolbox.