DOCX support from down under
Sydney's Aspose Pty Ltd, a developer/publisher of developer components for the .NET and Java platforms, has just released Aspose.Words for .NET 5.0.0, which includes support for reading and writing Open XML word-processing documents.
An eval version is available, and their conformance spreadsheet shows the status of their support for over 1500 details of the DOCX format.
Comments
Anonymous
February 13, 2008
The comment has been removedAnonymous
February 14, 2008
Yeah, I agree. The real test, though, is whether they can read documents that use other physical structures, like these: http://blogs.msdn.com/dmahugh/archive/2007/09/11/open-xml-implementation-test-documents.aspxAnonymous
February 14, 2008
Yes ... and some one should tell IBM to fix their PHP-script at http://www.ibm.com/developerworks/db2/library/techarticle/dm-0705gruber/ as well while ($zip_entry = zip_read($zip)) { if (zip_entry_open($zip, $zip_entry, "r") & zip_entry_name($zip_entry) == 'word/document.xml' ) { ... :-)Anonymous
February 14, 2008
Doug, Thanks for mentioning Aspose.Words. Aspose.Words certainly passes your test. I would say it is too easy. AW surely follows relationships and content types as per the OPC spec. /// <summary> /// A test for: /// http://blogs.msdn.com/dmahugh/archive/2007/09/11/open-xml-implementation-test-documents.aspx /// </summary> [Test] public void TestRelationshipsConformance() { Document doc = TestUtil.Open(@"ImportDocxTestRelationshipsConformance.docx"); Assert.AreEqual(doc.GetText(), "Hello World!x000c"); } As far as writing goes, we just try to mimic exactly what MS Word writes as much as we can hence the "word/" etc folders. Makes testing a bit easier.Anonymous
February 15, 2008
Great to hear, Roman. And I understand the decision to mimic Word's folder structure for testing purposes -- a few other people are doing the same thing for the same reason, and as long as you follow relationships per the OPC then that works fine. Your approach is interoperable with any Open XML implementation, as you know. In the case of IBM's implementation, as Jesper points out they've hard-coded the Word implementation details into their code, instead of writing to the spec, so IBM's code isn't interoperable with other implementations.Anonymous
May 31, 2008
The comment has been removedAnonymous
June 05, 2008
The comment has been removed