Apache POI + Office Word 生成页码
需求: 添加页码
<properties><easypoi.version>4.0.0</easypoi.version></properties>
<!-- easypoi --><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactId><version>${easypoi.version}</version></dependency><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-web</artifactId><version>${easypoi.version}</version></dependency><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-annotation</artifactId><version>${easypoi.version}</version></dependency>
package com.platform.modules.sas.utils;
import org.apache.poi.xwpf.model.XWPFHeaderFooterPolicy;
import org.apache.poi.xwpf.usermodel.*;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.*;import java.io.*;/*** ClassName FooterTest* Description add footer to word with poi* Author Kalinda* Date 2020/7/1 13:54* Version 1.0*/
public class FooterTest {public static void main(String[] args) {try {// file pathFile is = new File("D:/test.docx");FileInputStream fis = new FileInputStream(is);// document objectXWPFDocument doc = new XWPFDocument(fis);// calling methodcreateFooter(doc);// or this method both ok!// createFooter(doc);// outputOutputStream os = new FileOutputStream("D:\\Test1.docx");doc.write(os);} catch (Exception e) {e.printStackTrace();}}public static void createFooter(XWPFDocument doc) {// create footerXWPFHeaderFooterPolicy policy = doc.getHeaderFooterPolicy();CTP ctpFooter = CTP.Factory.newInstance();XWPFParagraph[] parsFooter;// add style (s.th.)CTPPr ctppr = ctpFooter.addNewPPr();CTString pst = ctppr.addNewPStyle();pst.setVal("style21");CTJc ctjc = ctppr.addNewJc();ctjc.setVal(STJc.CENTER);ctppr.addNewRPr();// add everything from the footerXXX.xml you needCTR ctr = ctpFooter.addNewR();ctr.addNewRPr();CTFldChar fch = ctr.addNewFldChar();fch.setFldCharType(STFldCharType.BEGIN);ctr = ctpFooter.addNewR();ctr.addNewInstrText().setStringValue(" PAGE ");ctpFooter.addNewR().addNewFldChar().setFldCharType(STFldCharType.SEPARATE);ctpFooter.addNewR().addNewT().setStringValue("1");ctpFooter.addNewR().addNewFldChar().setFldCharType(STFldCharType.END);XWPFParagraph footerParagraph = new XWPFParagraph(ctpFooter, doc);parsFooter = new XWPFParagraph[1];parsFooter[0] = footerParagraph;policy.createFooter(XWPFHeaderFooterPolicy.DEFAULT, parsFooter);}public static void createDefaultFooter(final XWPFDocument document) {CTP pageNo = CTP.Factory.newInstance();XWPFParagraph footer = new XWPFParagraph(pageNo, document);CTPPr begin = pageNo.addNewPPr();begin.addNewPStyle().setVal("style21");begin.addNewJc().setVal(STJc.CENTER);pageNo.addNewR().addNewFldChar().setFldCharType(STFldCharType.BEGIN);pageNo.addNewR().addNewInstrText().setStringValue("PAGE \\* MERGEFORMAT");pageNo.addNewR().addNewFldChar().setFldCharType(STFldCharType.SEPARATE);CTR end = pageNo.addNewR();CTRPr endRPr = end.addNewRPr();endRPr.addNewNoProof();endRPr.addNewLang().setVal("zh-CN");end.addNewFldChar().setFldCharType(STFldCharType.END);CTSectPr sectPr = document.getDocument().getBody().isSetSectPr() ? document.getDocument().getBody().getSectPr() : docx.getDocument().getBody().addNewSectPr();XWPFHeaderFooterPolicy policy = new XWPFHeaderFooterPolicy(document, sectPr);policy.createFooter(STHdrFtr.DEFAULT, new XWPFParagraph[] { footer });}}
Apache POI + Office Word 生成页码相关推荐
- apache poi使用例_使用java Apache poi 根据word模板生成word报表例子
[实例简介] 使用java Apache poi 根据word模板生成word报表 仅支持docx格式的word文件,大概是word2010及以后版本,doc格式不支持. 使用说明:https://b ...
- 使用java Apache poi 根据word模板生成word报表
使用java Apache poi 根据word模板生成word报表 使用poi读取word模板,替换word中的{text}标签,并根据自定义标签循环生成表格或表格中的行. 代码示例下载:https ...
- [实用][更新中]Java Apache POI 打印Word文档工具(含文本替换,动态表格功能)
[实用][更新中]Java Apache POI 打印Word文档工具(含文本替换,动态表格功能) 基于Apache POI对Word进行操作 一.基于Apache POI封装的word文档工具V1. ...
- java word apache poi 操作word模板。
apache poi 操作word模板. 操作方式: 1.对于固定格,可以遍历格子然后替换其中指定的值例如在要替换的cell写入${example} 这样格式,遍历到之后替换. 2.对于需要增长的表格 ...
- java使用Apache poi根据word模板生成word报表(增加插入符号、控制分页功能)
原文链接:https://blog.csdn.net/u012775558/article/details/79678701 根据原代码新增了插入符号和控制分页功能.改了类名,一些方法,新增一个符号类 ...
- 如何使用poi解析word生成html目录结构
POI解析word目录结构 简介说明 认识下Word 我们先看下doc版本的word 我们再看下docx版本的word(今天的主角) 目录解析的原理介绍 写word文档时,我们是怎么设置目录? 我们看 ...
- org.apache.poi往word模板中填充数据(word2003)
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能.通过字面意思,我们大概知道这个API是可以用来做 j ...
- Apache POI 实现word(doc/docx)浏览器预览
一.环境准备 1.jdk:1.8 2.maven:3.6 3.springboot:2.2.2 二.maven主要依赖 <dependency><groupId>org.apa ...
- java poi实现Word生成表格并下载至本地
首先我来讲一下需要用到的类: XWPFDocument代表一个docx文档,其可以用来读docx文档,也可以用来写docx文档 XWPFParagraph代表文档.表格.标题等种的段落,由多个XWPF ...
最新文章
- 世界级数学大牛来了!2002年菲尔兹奖得主加盟华为
- python socketpool:通用连接池
- python生成100个随机数_Python_0——100闭区间产生3个随机数,两种方法排序
- 7、Linux中文件类型、文件属性
- hdu 2881(简单dp)
- Docker(三):镜像导入与导出、保存与加载、在Docker容器中安装软件
- POJ 1273 (基础最大流) Drainage Ditches
- flink面试题(需要逐个突破)
- GitOps:Kubernetes多集群环境下的高效CICD实践
- 七点讲透分布式架构的前世今生,面试官都不知道的概念来了
- mongodb java 多条件查询_MongoDB_Java连接mongo 使用Java多条件查询mongo数据
- 织梦Cms怎么一直服务器维护中,织梦后台搜索关键词维护中出现大量网址信息的处理办法...
- 二进制样式的字符串与byte数组互转函数示例
- 【WPF】WPF 命令
- 第十三讲:软考中高项13_战略管理、业务流程管理、知识管理
- 极大似然估计与贝叶斯估计
- 【正则】只保留中文、英文的正则表达式
- 免费网站域名去哪找?免费域名靠谱吗?
- 从头开始学Redisson--------限流器
- 删除按升序排列的单链表中的所有重复元素
热门文章
- HTML5期末大作业:仿唯品会购物网站设计——仿唯品会购物商城(5页) HTML+CSS+JavaScript 学生DW网页设计作业成品 商城网站设计
- 6.0 深度学习图片常见转换操作
- 木兰词·拟古决绝词柬友
- 打包php程序为安装文件,zblogphp主题和插件怎么打包成.zba格式文件
- 海康摄像机在Win10系统的Web浏览器中无法在线预览解决办法
- Luogu5234[JSOI2012]越狱老虎桥
- android21 下载,21下载2021安卓最新版_手机app官方版免费安装下载_豌豆荚
- android用户中心头像选择功能的方法实现
- MYSQL 基础篇(补)
- 校园采花经历(超级爆笑)