`
53873039oycg
  • 浏览: 825600 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

[简单]docx4j设置页面大小示例

阅读更多

       如果想实现不同页面大小不同,则需要插入分节符,如图:

       

    代码中在想换页的段落上设置SectPr就可以了,例子如下:

    

@Test
	public void testDocx4jSetPageSize() throws Exception {
		WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.createPackage();
		MainDocumentPart mdp = wordMLPackage.getMainDocumentPart();

		String titleStr="静夜思	李白";
		String str="床前明月光,疑似地上霜。";
		String str2="举头望明月,低头思故乡。";
		P p = Docx4j_Helper.factory.createP();
		String rprStr = "<w:rPr xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\"><w:rFonts w:hint=\"eastAsia\" w:ascii=\"Times New Roman\" w:hAnsi=\"Times New Roman\" w:eastAsia=\"宋体\"/><w:b/><w:color w:val=\"333333\"/><w:sz w:val=\"32\"/><w:szCs w:val=\"32\"/></w:rPr>";
		RPr rpr = (RPr) XmlUtils.unmarshalString(rprStr);
		setParagraphContent(p, rpr,titleStr);
		mdp.addObject(p);
		
		p = Docx4j_Helper.factory.createP();
		setParagraphContent(p, rpr,str);
		mdp.addObject(p);
		
		p = Docx4j_Helper.factory.createP();
		PPr pPr=Docx4j_Helper.factory.createPPr();
		//设置文字方向
		SectPr sectPr = Docx4j_Helper.factory.createSectPr();
		TextDirection textDirect = Docx4j_Helper.factory.createTextDirection();
		//文字方向:垂直方向从右往左
		textDirect.setVal("tbRl");
		sectPr.setTextDirection(textDirect);
		Type sectType = Docx4j_Helper.factory.createSectPrType();
		//下一页
		sectType.setVal("nextPage");
		sectPr.setType(sectType);
		//设置页面大小
		PgSz pgSz =  Docx4j_Helper.factory.createSectPrPgSz();
		pgSz.setW(new BigInteger("8335"));
		pgSz.setH(new BigInteger("11850"));
		sectPr.setPgSz(pgSz);
		pPr.setSectPr(sectPr);
		p.setPPr(pPr);
		setParagraphContent(p, rpr,str2);
		mdp.addObject(p);
		
		p = createParagraphWithHAlign();
		setParagraphContent(p, rpr,titleStr);
		mdp.addObject(p);
		
		p = createParagraphWithHAlign();
		setParagraphContent(p, rpr,str);
		mdp.addObject(p);
		
		p = createParagraphWithHAlign();
		setParagraphContent(p, rpr,str2);
		mdp.addObject(p);
		Docx4j_Helper.saveWordPackage(wordMLPackage, outputfilepath);
	}

	/**
	 * 创建段落设置水平对齐方式
	 * @return
	 */
	private P createParagraphWithHAlign() {
		P p;
		PPr pPr;
		p = Docx4j_Helper.factory.createP();
		pPr=Docx4j_Helper.factory.createPPr();
		Jc jc =Docx4j_Helper.factory.createJc();
		jc.setVal(JcEnumeration.CENTER);
		pPr.setJc(jc);
		p.setPPr(pPr);
		return p;
	}

	/**
	 * 设置段落内容
	 */
	private void setParagraphContent(P p, RPr rpr,String content) {
		Text t = Docx4j_Helper.factory.createText();
		t.setSpace("preserve");
		t.setValue(content);
		R run = Docx4j_Helper.factory.createR();
		run.setRPr(rpr);
		run.getContent().add(t);
		p.getContent().add(run);
	}

    结果为:

    

 

        全文完。

  • 大小: 8.5 KB
  • 大小: 12.4 KB
  • 大小: 10.5 KB
分享到:
评论

相关推荐

    利用docx4j向docx文件中指定书签位置添加图片,包含相关jar包和demo

    代码很短,但是找jar包找的欲仙欲死,包括commons-io-1.4.jar,commons-logging-1.1.1.jar,docx4j-3.3.3.jar,freemarker.jar,google-collections.jar,log4j-1.2.8.jar,slf4j-api-1.7.12.jar,slf4j-log4j12-...

    docx4j-3.3.5-API文档-中英对照版.zip

    赠送jar包:docx4j-3.3.5.jar; 赠送原API文档:docx4j-3.3.5-javadoc.jar; 赠送源代码:docx4j-3.3.5-sources.jar; 赠送Maven依赖信息文件:docx4j-3.3.5.pom; 包含翻译后的API文档:docx4j-3.3.5-javadoc-API...

    docx4j-3.3.5-API文档-中文版.zip

    赠送jar包:docx4j-3.3.5.jar; 赠送原API文档:docx4j-3.3.5-javadoc.jar; 赠送源代码:docx4j-3.3.5-sources.jar; 赠送Maven依赖信息文件:docx4j-3.3.5.pom; 包含翻译后的API文档:docx4j-3.3.5-javadoc-API...

    DOCX4J jar包

    docx4j 用的jar包,docx4j学习网址:http://www.docx4java.org/trac/docx4j

    最新 docx4j-master

    最新 docx4j-master最新 docx4j-master最新 docx4j-master最新 docx4j-master最新 docx4j-master最新 docx4j-master最新 docx4j-master最新 docx4j-master最新 docx4j-master最新 docx4j-master最新 docx4j-master...

    docx4j项目(包括jar包、javadoc文档、源码及示例)

    资源中包含docx4j项目的jar包(及主要依赖Jar)、javadoc、源码和示例等,因为花费挺大力气整理出来,所以定了2分,如果您有需要而缺少CSDN下载,请留言或发短消息索取.... 另外,请关注我的博客,其中有些对docx4j...

    docx4j及其依赖包

    docx4j支持操作后缀.docx得word文档,替换书签,获取文档内容,稳定资源

    用docx4j操作word书签,在word书签中插入文本

    用docx4j,jar出去word书签,在word书签中插入文本 源码可以通过以下链接查看: https://github.com/xulp-mzl/xlp-core https://github.com/xulp-mzl/xlp-third ...实例: public static void main(String[] args) ...

    docx4j操作word

    docx4j操作word,主要使用docx4j对word进行操作,比如chart图表、标签替换、目录等。

    docx4j相关jar包

    docx4j运行需要的jar包,这里是整理好的所有必须的jar包

    docx4j生成word文档

    最近在做一个出卷系统,需要通过试卷模板从数据库中抽取题目,然后按照模板的样式生成完整的试卷,包括试卷格式的排版和图片的写入。这是用docx4j生成word文档。里面包括完整代码和所需jar包。

    docx4j所需jar包全

    docx4j所需jar包整合,其中word转pdf,word转html,word中docx转doc,java代码实现,都可以使用,仅限学习参考使用。

    利用docx4j实现docx转pdf

    利用docx4j实现docx转pdf小dome

    使用docx4j 技术操作word的读写

    使用docx4J技术操作word的读写,使用docx4J技术操作word的读写,

    java实现多个docx文档合并(基于docx4j)

    java实现word的合并,jdk版本1.7,直接导入eclipse中即可。基于docx4j3.3.3实现。内含所有jar包,MargeDoc中含有主方法

    docx4j-3.3.6

    What is docx4j? docx4j is an open source (Apache v2) library for creating, editing, and saving OpenXML "packages", including docx, pptx, and xslx. It uses JAXB to create the Java representation. ...

    docx4J 文件源代码 docx4J 2.2.2 source files

    docx4J 文件源代码 docx4J source files docx4j is an open source Java library for manipulating OpenXML WordprocessingML documents, released under the Apache software licence. docx is the default file ...

    docx4j api

    docx4j api 帮助文档 word导出必备 学习必备

    docx4j项目(javadoc文档、源码及示例)

    docx4j是Java操作office2007+中的Word、Excel、PPT的开源项目,其主要针对WordXML同时也可以处理Excel和PPT,比POI要强大很多

Global site tag (gtag.js) - Google Analytics