Word Aspose 中的条件块 (<<if [var] )

Conditional Block in word Aspose (<<if [var] )

我正在使用 mailmerge in word 创建一个 word 文档,我需要根据条件变量显示一个词块:

<<if [var]>>
show text
<</if>>

我正在构建 json 对象以在 java 中传递 word 文档,例如:

InputStream targetStream = new ByteArrayInputStream(objectMapper.writeValueAsString(object).getBytes());
            JsonDataSource ds = new JsonDataSource(targetStream);
            ReportingEngine engine = new ReportingEngine();
            engine.setOptions(ReportBuildOptions.ALLOW_MISSING_MEMBERS);
            engine.buildReport(docIstanza, ds, "obj");
            docIstanza.getMailMerge().setFieldMergingCallback(new HandleFieldMerging());

我无法理解如何在 word 文档中使用 if 指令。 var 是布尔值。

Mail Merge and LINQ Reporting Engine 是用数据填充模板的两种不同方式。如果您使用 LINQ 报告引擎,那么在您的模板中您应该简单地将条件作为常规文本。 https://docs.aspose.com/words/net/using-conditional-blocks/

如果您使用邮件合并功能,您应该使用 MS Word MergeFields https://docs.aspose.com/words/java/mail-merge-template/ 在这种情况下要显示条件内容,您应该使用 IF 字段。

在您的情况下,您从 JSON 获取数据并且 var 变量的值是可为空的布尔值。在这种情况下,您必须使用 <<if [var == true]>>