Docx4J模版替换内容,内容中需要换行问题

在用docx4j进行word 文档替换生成需要的文档情况下,有些 替换的内容需要换行。

首先我们打开需要生成文档的模版,然后用word另存为,选择word xml格式保存。

 然后我们打开这个xml,查看需要 替换的地方。

 此时我们把 一个包含 待替换内容的 <w:p> 标签所有内容 复制到代码中。并调整一下顺序,将

${serviceDetailsText}后的标签 放到string的前面,然后在跟上${serviceDetailsText}前面的标签。具体代码如下

public static final String skip = "</w:t>\n" +
            "                                    </w:r>\n" +
            "                                </w:p>\n" +
            "                                <w:p>\n" +
            "                                    <w:pPr>\n" +
            "                                        <w:keepNext w:val=\"0\" />\n" +
            "                                        <w:keepLines w:val=\"0\" />\n" +
            "                                        <w:widowControl />\n" +
            "                                        <w:suppressLineNumbers w:val=\"0\" />\n" +
            "                                        <w:spacing w:line=\"240\" w:lineRule=\"auto\" />\n" +
            "                                        <w:jc w:val=\"left\" />\n" +
            "                                        <w:rPr>\n" +
            "                                            <w:rFonts w:hint=\"eastAsia\" w:ascii=\"华文细黑\" w:hAnsi=\"华文细黑\" w:eastAsia=\"华文细黑\" w:cs=\"华文细黑\" />\n" +
            "                                            <w:sz w:val=\"18\" />\n" +
            "                                            <w:szCs w:val=\"18\" />\n" +
            "                                            <w:vertAlign w:val=\"baseline\" />\n" +
            "                                            <w:lang w:val=\"en-US\" w:eastAsia=\"zh-Hans\" />\n" +
            "                                        </w:rPr>\n" +
            "                                    </w:pPr>\n" +
            "                                    <w:r>\n" +
            "                                        <w:rPr>\n" +
            "                                            <w:rFonts w:hint=\"eastAsia\" w:ascii=\"华文细黑\" w:hAnsi=\"华文细黑\" w:eastAsia=\"华文细黑\" w:cs=\"华文细黑\" />\n" +
            "                                            <w:sz w:val=\"18\" />\n" +
            "                                            <w:szCs w:val=\"18\" />\n" +
            "                                            <w:vertAlign w:val=\"baseline\" />\n" +
            "                                            <w:lang w:val=\"en-US\" w:eastAsia=\"zh-Hans\" />\n" +
            "                                        </w:rPr>\n" +
            "                                        <w:t>";

最后我们在 替换的变量中 需要换行的位置增加这个 变量就可以实现换行了。

例如我们需要一个集合 在word中独占一行展示。

实现效果如下:

 

注意,如果单行内容过长,word也会自动换行。 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值