docx4j不替换变量

Mar*_*mes 10 docx4j

我刚刚在docx4j 2.8.1 的VariableReplace示例中遵循No 2方法,它所做的一切就是删除变量标记$ {}.

我做的步骤:

  • 打开Word 2013,仅键入$ {variable}作为文本
  • 把它保存到某个地方
  • 在我的Java程序中读取它并使用.put("variable","TEST")构建我的HashMap;
  • 从上面的示例中复制并粘贴其他代码.
  • 保存了文件

我只期望'TEST',并且在输出文档中没有标记的情况下获得'变量'.

Jas*_*ext 25

毫无疑问,Word会使用语法或拼写标记在运行之间拆分"变量".

使用VariablePrepare进行修复

在实例化WordprocessingMLPackage之后放入这一行:

VariablePrepare.prepare(wordMLPackage);
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用映射替换变量.