docx4j:提高性能

docx4j: improve performances

我正在用 docx4j 做一些测试。我需要做的是将复杂的 Word 文档(2-3 页文本、表格、项目符号列表、图像)转换为 xhtml。

我举了这个例子:https://github.com/plutext/docx4j/blob/master/src/samples/docx4j/org/docx4j/samples/ConvertOutHtml.java

它工作正常,我只有两个问题:

  1. 转换一个word文档大约需要30秒。此行占用了 95% 的计算时间:

    wordMLPackage = Docx4J.load(新java.io.File(输入文件路径));

最终目标是创建一个简单的 webapp,获取 Word 文档(每次不同)并返回 xhtml。用户不能等这么久。有什么办法可以提高性能吗?为什么要花这么长时间(例如 Tika 快数百倍)?目前我 运行 它在我的笔记本电脑 Eclipse IDE 上,无论如何速度很快,你认为一旦 运行 服务器端会更好吗?

非常感谢。

加载 JAXB 上下文需要时间。它通常只完成一次,因此第一次加载会很慢。也就是说,它不应该花费 30 秒!在我老化的笔记本电脑上,大约需要 5 秒。

您可以启用日志记录以更深入地了解其中有多少是 JAXB 上下文初始化。