OpenXML SDK 2.0 vs Aspose for server side word 2007 document generation in .NET

I just examined both options very carefully for a recent project and can give you the following summary:

OpenXML SDK 2.0

  • Pros

    • It is a solid choice if you want to generate template-based Office documents.

    • Aside from the core SDK there are also the "Productivity Tools for Microsoft Office", which come with a feature called "Reflected Code" to generate the .NET code out of an existing document which actually generates this exact document. Really nice!

    • The SDK is stable and it is supported by Microsoft.

    • It's for free! Aspose.Words costs a pretty penny, especially if you have a large number of developers on your team or would like to use it in a "Software as a Service" environment.

  • Cons

    • OpenXML cannot render office functions. In short this means that the page numbers of a TOC or the actual page numbers of your Word document are not rendered until the user refreshes the document. The same is true for Excel calculations, so you can't do this rendering/calculation on the server-side (WordAutomation here we are again).

      So if you need this feature I would highly recommend you to go with Aspose.Words.
      See this SO question/answer for more details.

    • The learning curve for the SDK seems to be a little bit higher than for Aspose.Words.

You also might have a look into the Word Automation Services in Sharepoint 2010.

Hope that helps!


You can also try Docentric, which is OpenXML based toolkit. It requires a license, but it pays off quickly with the time it saves.

You design a template in Word (version 2007 or newer), using all of the Word formatting options (headers, footers, tables, numbering, TOC, subdocuments, conditional formatting, etc). At runtime you can merge data with the template. Data can come from database(s) or xml files.

Have a look at this post for sample application.