首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >优化docx4j性能

优化docx4j性能
EN

Stack Overflow用户
提问于 2013-03-28 00:55:21
回答 1查看 1.9K关注 0票数 1

我使用docx4j 2.8.1替换word文件中的文本和徽标。现在我想提高性能,因为大约50个文档的处理速度相当慢。建议使用哪些选项来提高docx4j的性能?

替换字符串(不是徽标)的代码如下所示:

代码语言:javascript
复制
 String xml = XmlUtils.marshaltoString(documentPart.getJaxbElement(), true);
 HashMap<String, String> mappings = buildReplaceMap(userData);

 Object obj = XmlUtils.unmarshallFromTemplate(xml, mappings);
 documentPart.setJaxbElement(obj);
EN

回答 1

Stack Overflow用户

发布于 2013-03-28 17:46:01

请尝试http://www.docx4java.org/docx4j/docx4j-nightly-20130328.jar

它包含一个实验性的variableReplace方法。根据您的问题假设documentPart和映射,您可以调用:

代码语言:javascript
复制
documentPart.variableReplace(mappings);

你不需要documentPart.setJaxbElement。

在我对175页文档的测试中,处理花费了1/3秒(大约快了3倍)。

任何进一步的性能改进都很容易通过提供更多的资源(更多的内核,如果你想并发的话)和更多的RAM来实现。

让我知道你的想法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15664726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档