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.
Interestingly this is the component Buzzword (http://www.buzzword.com) uses to save the online documents as OOXML-files.
Btw - someone should have told them (Aspose) that you don't have to name the embedded document folder in the OPC-package "word". It could - and imo should - be "buzzword" or something else.
:-)
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.aspx
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' )
...
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(@"ImportDocx\TestRelationshipsConformance.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.
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.
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 versio