word模板动态替换占位符(eg:${placeholder})然后生成新的word
网上搜索的不管是docx4j还是poi都只是实现了占位符在同一个文本中(读取word行数据后,行数据会分为多个文本)的替换,针对占位符没有在同一个文本或者换行了都没有实现,总结docx4j和poi两种方式终极实现占位符替换生成新word,两种方式源码如下
1、Docx4J实现代码
import cn.hutool.core.util.ObjectUtil;
import com.google.common.collect.Lists;
import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
import org.docx4j.wml.ContentAccessor;
import org.docx4j.wml.Text;
import org.junit.Test;
import javax.xml.bind.JAXBElement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author liuchao
* @date 2020/6/8
*/
public class Test01 {
/**
* 设置最大Text类型节点个数 如果超过此值,在删除占位符时可能会重复计算导致错误
*/
private static int MAX_TEXT_SIZE = 1000000;
@Test
public void test() throws Exception {
String docxFile = "/Users/liuchao/java/temp/1.docx";
Wordp
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/84207.html