Java POI可以将图像写入word文档吗?

时间:2008-09-24 09:05:49

标签: java ms-word apache-poi

有人知道是否有可能吗? 并获得了任何示例代码? 或者可以执行此操作的任何其他Java API?

8 个答案:

答案 0 :(得分:1)

Office 2007格式基于XML,因此可以使用XML工具编写。但是this library声称可以编写DocX格式的word文档。

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

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

答案 1 :(得分:1)

正如其他人所说,POI不会允许你做任何真正想要的事情 - 而且它不支持Office 2007+格式。将MS Word作为通过COM提供此类功能的组件进行处理很可能是此处的最佳方法(除非您在非Windows操作系统上运行或者无法保证Word将安装在计算机上)。

如果您选择COM路线,我建议您查看JACOB project。你确实需要熟悉COM(它有一个非常陡峭的学习曲线),但是这个库工作得很好,比使用JNI包装器在本机代码中尝试它更容易。

答案 2 :(得分:1)

如果您使用的是docx,可以试试docx4j。

请参阅AddImage sample

答案 3 :(得分:1)

答案 4 :(得分:0)

可以从project website收集:no。

答案 5 :(得分:0)

POI的HWPF可以提取MS Word文档的文本并执行简单的修改(基本上是删除和插入文本)。 AFAIK它不能做更多的事情。 另请注意,HWPF仅适用于较旧的MS Word(97)格式,而不适用于最新格式。

答案 6 :(得分:0)

不确定开箱即用的Java是否可以直接执行。但我已经读过一个组件,它可以在没有Word的情况下自动生成Word文档。 Aspose Words

答案 7 :(得分:0)

JasperReports使用此API替代POI,因为它支持图像:
JExcelAPI

我还没有尝试过,也不知道它有多好/坏。