Why Not Open XML SDK

What is Open XML SDK?

Sometimes, we get this question: Why should we use Aspose products rather than the free Open XML SDK?

We find it easy to answer this question in terms of features and functionalities.

According to the MSDN Library, Open XML SDK is defined this way:

“The Open XML SDK 2.0 simplifies the task of manipulating Open XML packages and the underlying Open XML schema elements within a package. The Open XML SDK 2.0 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. OOXML documents are essentially zipped XML files and Open XML SDK is a collection of classes that allows you to work with the content of OOXML documents in a strongly-typed way. That is instead of unzipping a file to extract XML, loading that XML into a DOM tree, and working with XML elements and attributes directly, Open XML SDK provides classes to do that.”

What is Aspose.Slides?

Aspose.Slides is a class library that allows applications to perform these presentation processing tasks:

  • Programming with a presentation object model.

  • High quality conversions involving all the popular supported PowerPoint presentation formats, including conversion to PDF, XPS, TIFF and printing.

  • Generating slide thumbnails in well-known formats such as PNG, JPEG and BMP alongside slide exporting to SVG.

  • Building presentations from scratch or by combining elements from one or multiple documents.

  • Adding animations, OLE Frames, tables, creating and managing charts.

  • Controlling (extensive control) and managing the text formatting on TextFrames, Paragraphs and Portions levels.

    For more details on the available features, please see the Aspose.Slides Features page.

Comparing Open XML SDK with Aspose.Slides

This table compares Open XML SDK capabilities and features with Aspose.Slides.

Feature or Feature Category Open XML SDK Aspose.Slides
Supported presentations formats PPTX PPT, POT, PPS, PPTX, POTX, PPSX, ODP
Conversion from PPT to PPTX No Yes

High-level programming with a Presentation Document Object Model (DOM):

- Find and replace texts.

- Assemble slides in presentations.

No Yes
Detailed programming with a document object model; access to individual elements and formatting such as TextHolders, TextFrames, Paragraphs and Portions. Yes Yes
Low-level direct and full access to the underlying XML elements and attributes such as relationship identifiers, list identifiers of an OOXML document. Yes No

Rendering and Printing:

- Render presentations to PDF, PDF Notes, XPS, TIFF images.

- Render slide thumbnails to PNG, JPEG, BMP, SVG and TIFF.

- Specify image resolution, quality, compression and other options.

- Print presentations using the .NET printing infrastructure. The component has built-in print method to print the presentations as shown in Print Preview of MS PowerPoint.

No Yes
Supported platforms Windows, .NET Windows, Linux, Java, .NET, Mono

Conclusion

Open XML SDK and Aspose.Slides do not compete directly because they address considerably different needs, and they target different audiences.

If your workflow is a basic programming operation on a PPTX document, then Open XML SDK might be a good choice. With Open XML SDK, you should be comfortable performing simple tasks like generating a simple PPTX document or removing comments, headers/footers, extracting images or others. Certain tasks can be performed with Open XML SDK but cannot be performed with Aspose.Slides. For example, if you need to directly access the XML elements and attributes of an OOXML document, then you should use Open XML SDK.

If you need to perform complex tasks on documents—such as tasks on the list below—then Aspose.Slides is your best option.

  • Operations involving older PowerPoint formats (and PPTX too).
  • Copying or cloning shapes within slides in a way that combines objects, styles, and other formatting elements in an appropriate manner.
  • Replacing formatted or unformatted text.
  • Applying animations and using connectors with shapes.
  • Converting a document to PDF, TIFF or XPS so it appears like Microsoft PowerPoint did the conversion.
  • Developing a .NET or Java application in both desktop and web-based environments.