Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

I am going to start a Server side Office automation project in .Net. Below are the key activities that are planned:

  • Create a word document
  • Use a existing word document template having cover page, header, footer, TOC
  • Save file
  • Embed files and resize : HTML, Image, Word, Excel
  • TOC generation and formatting
  • Doc formatting: Page break, Section break, Orientation, Orientation at section break, Continuous page numbering
  • Replace embedded "variables" with use defined contents.

I am more inclined towards OpenXML SDK 2.0 since it is free compared to Aspose. Also, in aspose, I could not locate sample codes to embed Excel document inside word document which is a key requirement.

Can you please guide me on using OpenXML SDK 2.0 or Aspose component? What are the key factors that goes in favor of Aspose (apart from simplicity of APIs) so that i can spend time to evaluate it too?

Thank you.

like image 288
Ajit Singh Avatar asked Jun 10 '11 05:06

Ajit Singh


People also ask

What is OpenXML SDK?

The Open XML SDK 2.5 simplifies the task of manipulating Open XML packages and the underlying Open XML schema elements within a package. The Open XML SDK 2.5 encapsulates many common tasks that developers perform on Open XML packages, so that you can perform complex operations with just a few lines of code.

What is Documentformat OpenXML?

The Open XML SDK provides tools for working with Office Word, Excel, and PowerPoint documents. It supports scenarios such as: - High-performance generation of word-processing documents, spreadsheets, and presentations. - Populating content in Word files from an XML data source.

Does OpenXML require office?

No. You only need to have a reference to the library that provides all the OpenXML functionality. That library is not dependant on Office.

Is OpenXML open source?

Today MS Open Tech has announced the release of the Open XML SDK version 2.5 as open source software (Apache 2.0 license) under the stewardship of the . NET Foundation.


1 Answers

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!

like image 91
Martin Buberl Avatar answered Jan 20 '23 14:01

Martin Buberl