有谁知道这是否可能?并有任何示例代码吗?或者任何其他可以做到这一点的java API?
8 回答
正如其他人所说,POI 不会让您做任何真正花哨的事情——而且它不支持 Office 2007+ 格式。将 MS Word 视为通过 COM 提供此类功能的组件很可能是这里的最佳方法(除非您在非 Windows 操作系统上运行,或者不能保证 Word 将安装在计算机上)。
如果您确实走 COM 路线,我建议您查看JACOB 项目。您确实需要稍微熟悉 COM(它的学习曲线非常陡峭),但是该库运行良好,并且比尝试使用 JNI 包装器在本机代码中完成它更容易。
Office 2007 格式基于 XML,因此可以使用 XML 工具编写。但是有这个库声称能够编写 DocX 格式的 word 文档。
唯一的其他选择是使用 Java-COM 桥并使用 COM 来操作单词。不过,这可能不是一个好主意——我建议找到一种更简单的方法。
例如,Word 可以轻松读取 RTF 文档,您可以在 Java 中生成 .rtf 文档。您不必使用 Microsoft Word 格式!
如果你使用 docx,你可以试试 docx4j。
请参阅AddImage 示例
一定:
看看这个: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 生成。
JasperReports 使用此 API 替代 POI,因为它支持图像:
JExcelAPI
我还没有尝试过,也不知道它有多好/坏。
POI 的 HWPF 可以提取 MS Word 文档的文本并执行简单的修改(基本上是删除和插入文本)。AFAIK 它不能做更多的事情。另请记住,HWPF 仅适用于较旧的 MS Word (97) 格式,而不适用于最新格式。
据可以从项目网站收集到:没有。
不知道开箱即用的Java是否可以直接做到这一点。但我读过一个组件,它几乎可以在没有 Word 的情况下自动生成 Word 文档方面做任何事情。假设的话