2

有谁知道这是否可能?并有任何示例代码吗?或者任何其他可以做到这一点的java API?

4

8 回答 8

1

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

如果您确实走 COM 路线,我建议您查看JACOB 项目。您确实需要稍微熟悉 COM(它的学习曲线非常陡峭),但是该库运行良好,并且比尝试使用 JNI 包装器在本机代码中完成它更容易。

于 2008-09-24T14:06:44.510 回答
1

Office 2007 格式基于 XML,因此可以使用 XML 工具编写。但是有这个库声称能够编写 DocX 格式的 word 文档。

唯一的其他选择是使用 Java-COM 桥并使用 COM 来操作单词。不过,这可能不是一个好主意——我建议找到一种更简单的方法。

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

于 2008-09-24T09:54:08.207 回答
1

如果你使用 docx,你可以试试 docx4j。

请参阅AddImage 示例

于 2009-03-27T02:20:31.317 回答
1

一定:

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

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

像这样简单:

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

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

于 2010-07-26T07:03:16.553 回答
0

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

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

于 2009-04-14T13:47:15.647 回答
0

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

于 2008-09-24T10:09:50.027 回答
0

据可以从项目网站收集到:没有。

于 2008-09-24T09:47:59.360 回答
0

不知道开箱即用的Java是否可以直接做到这一点。但我读过一个组件,它几乎可以在没有 Word 的情况下自动生成 Word 文档方面做任何事情。假设的话

于 2008-09-24T11:35:17.667 回答