2008-09-24 86 views

回答

1

Office 2007格式基于XML,因此可以写入使用XML工具。然而有this library声称能够编写DocX格式的文档。

唯一的另一种选择是使用Java-COM Bridge并使用COM来操作单词。这可能不是一个好主意 - 我会建议找一个更简单的方法。

例如,Word可以轻松读取RTF文档,并且可以从Java中生成.rtf文档。您不必使用Microsoft Word格式!

0

POI的HWPF可以提取MS Word文档的文本并进行简单的修改(基本上删除和插入文本)。 AFAIK它不能做的远不止这些。 也请记住,HWPF只适用于较旧的MS Word(97)格式,而不是最新版本。

0

不确定是否可以直接使用Java。但是我已经读过一个组件,它可以在不使用Word的情况下自动生成Word文档,而几乎可以做任何事情。 Aspose Words

1

正如其他人所说POI不会让你做任何真正奇特的事情 - 再加上它不支持Office 2007+格式。把MS Word作为一个通过COM提供这种功能的组件是最好的办法(除非你在非Windows操作系统上运行,或者不能保证Word将被安装在机器上)。

如果你确实去了COM路线,我建议你看看JACOB project。你需要对COM(它有一个非常陡峭的学习曲线)有点熟悉,但是这个库工作得很好,比用JNI包装器在本地代码中执行它更容易。

0

JasperReports的使用这个API或者到POI,因为它支持图片:
JExcelAPI

我没有尝试,但不知道有多好/坏它。

1

肯定:

看看这个:http://code.google.com/p/java2word

字2004+是基于XML的。上述框架获取图像,转换为Base64表示并将其添加到XML。 当你打开你的Word文档时,会有你的图片。

简单的是这样的:

IDocument myDoc = new Document2004(); 
    myDoc.getBody().addEle("path/myImage.png")); 

Java2Word是一个API使用明显的Java代码来生成Word文档。 J2W负责幕后的所有实现和XML生成。

相关问题