[简单]docx4j插入段落

     docx4j可以往文档中插入段落,使用起来和往List中插入元素一样,只要注意下下标位置就可以了,如第一次往下标5的地方插入段落后,模板中下标为8的变成了下标9。

     举个例子,模板如下:

     
[简单]docx4j插入段落_第1张图片
     往模板中插入段落和表格

     

		String inputfilepath = "e:/test_tmp/0904/test_p.docx";
		WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(new java.io.File(inputfilepath));
		MainDocumentPart documentPart = wordMLPackage.getMainDocumentPart();
		String titleStr = "测试插入段落";
		P p = Docx4j_Helper.factory.createP();
		String rprStr = "";
		RPr rpr = (RPr) XmlUtils.unmarshalString(rprStr);
		setParagraphContent(p, rpr, titleStr);
		documentPart.getContent().add(5, p);

		String tblPrStr = "";
		Tbl tbl = Docx4j_Helper.factory.createTbl();
		TblPr tblPr = (TblPr) XmlUtils.unmarshalString(tblPrStr);
		tbl.setTblPr(tblPr);
		Tr tr = Docx4j_Helper.factory.createTr();
		Tc tc = Docx4j_Helper.factory.createTc();
		tr.getContent().add(tc);

		tc = Docx4j_Helper.factory.createTc();
		tr.getContent().add(tc);

		tc = Docx4j_Helper.factory.createTc();
		tr.getContent().add(tc);

		tc = Docx4j_Helper.factory.createTc();
		tr.getContent().add(tc);

		tc = Docx4j_Helper.factory.createTc();
		tr.getContent().add(tc);
		tbl.getContent().add(tr);

		tr = Docx4j_Helper.factory.createTr();
		tc = Docx4j_Helper.factory.createTc();
		tr.getContent().add(tc);

		tc = Docx4j_Helper.factory.createTc();
		tr.getContent().add(tc);

		tc = Docx4j_Helper.factory.createTc();
		tr.getContent().add(tc);

		tc = Docx4j_Helper.factory.createTc();
		tr.getContent().add(tc);

		tc = Docx4j_Helper.factory.createTc();
		tr.getContent().add(tc);
		tbl.getContent().add(tr);
		documentPart.getContent().add(9, tbl);
		
		Docx4j_Helper.saveWordPackage(wordMLPackage, outputfilepath);
	

    结果为:

   
[简单]docx4j插入段落_第2张图片
     全文完。

     

你可能感兴趣的:(java,docx4j)