DocX4All - A Java Based DOCX editor…

22 February 2008 by oliver

Over the last twelve months I have met a number of developers who are working with the OpenXML specification to build a wide range of applications.

One of those developers is Jason Harrop, who has been working on a couple of projects using the spec. The first was a set of tools that allows users to simultaneously edit documents, using a plugin for Microsoft Office on one end of his applcation, and a set of Linux based backend tools to manage the communications.

His second project is a java based application that will allow users to work with OpenXML documents regardless of their choice of platform, he calls the project Docx4All. Additionally, all of Jason’s code for these two projects  is published under the GPL.

Docx4all is a WYSIWYG editor for docx files which runs on Vista, XP, and linux. Of course, it uses docx as its native file format. It is currently a proof of concept but the application already provides basic formatting and editing (including cut/paste, and styles) and so on.

Jason tells me the WordprocessingML in the docx file is unmarshalled directly into classes generated from the OOXML schemas, using plutext’s docx4j library. In principle this approach allows for 100% compatibility with with other existing office automation applications, since there is no conversion to another internal file format.

helloworld

There doesn’t seem to be any table support in the current release, but there is basic support for printing, via PDF.

helloworld-printpreview

If you want to take a look for yourself then you can launch docx4all from your web browser by following this link. It will install locally, so you don’t have to be online to use it.

If you’re interested in taking a deeper look then a virtual appliance containing a full docx4all development environment is available from here. The appliance runs Ubuntu, a good example of OpenXML development and implementation taking place completely away from Microsoft’s stack.

Comment here

XHTML: Allowed tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>