Comparison of Java API’s for Word Document Control
Controlling a Word document manually is one thing; controlling a Word document programatically is another. Word document control allows applications to generate, modify, and read data within Word documents. At first, I was surprised by the lack of tool support and examples for doing so. Each API seems to have its own strengths and weaknesses, creating a critical decision that must be made by the developer. Even for developers that may become accustomed to one, terrific API for a specific project, other projects may require different features and a different API. I hope to share, with you, my experiences from playing around with each of the different, available API’s out there for Word document control:
POI |
Docx4j |
Java2Word |
UNO |
Aspose.Words |
|
Provider |
Apache |
Apache |
Owner via Google |
OpenOffice.org |
Aspose |
Homepage | http://poi.apache.org/ | http://www.docx4java.org | http://code.google.com/p/java2word/ | http://udk.openoffice.org/ | http://www.aspose.com/ |
Getting Started | Click | ||||
.doc Support? |
Y |
N |
Y |
Y |
Y |
.docx Support? |
Y |
Y |
Y, sort of |
Y |
Y |
Comments |
|
|
|
|
|
Free? Licensing? |
Y, Apache |
Y, Apache |
Y, GPL |
Y, LGPL |
N, Ms-PL |
Of course, this chart has been tailored to my specific experience with these API’s. However, I hope this will at least reduce the amount of time you spend, looking for a proper solution for your specific problem. I definitely do not consider myself an expert in this area, so I would also gladly appreciate any feedback or comments you may have.
Cheers!
Hello, World!
Welcome!
I’m very pleased to introduce you to my first programming blog, Mental Backup. My name is Bradley, and I have around 10 years of programming experience. No doubt I should have started this blog a long time ago, but I felt it’s better to start now than never. I am a recent graduate from Cal Poly in Computer Science, and I am thrilled to backup my day-to-day experiences and share them with you. I hope to contribute ideas that will be relevant and useful to you, and I also hope to learn from you all, as well. Here we go! Once again, welcome!