docx4j模拟表达式求值

docx4j simulate expression evaluation

我有一个包含一些公式的 docx 文档,例如

{IF "Name" = "Foo" "Foo" "Bar"}

最后应该打印 "Bar" 。

在 Word 中,我必须按 "F9" 才能计算表达式。 不,我正在使用 docx4j,我可以以某种方式告诉 docx4j 进行评估吗?

恐怕不会。你当然可以得到表达式(给你看this discussion about some classes which help), but there is currently nothing in docx4j to evaluate an IF field.

如果 objective 是 include/exclude 文本,您将能够使用 OpenDoPE 条件内容控件(基于 XPath 的计算结果是真还是假)达到相同的目的。 (docx4j 可以评估这些;它们也可以嵌套,以支持复杂的内容)