Java页码超出_java - 表中的页码 - 堆栈内存溢出
为此,创建一个文本运行,并在这些文本运行中插入字段"PAGE \\\\* MERGEFORMAT"和/或"NUMPAGES \\\\* MERGEFORMAT" 。 这也是Word的GUI所做的。
...
run = paragraph.createRun();
run.setText("Page ");
paragraph.getCTP().addNewFldSimple().setInstr("PAGE \\* MERGEFORMAT");
run = paragraph.createRun();
run.setText(" of ");
paragraph.getCTP().addNewFldSimple().setInstr("NUMPAGES \\* MERGEFORMAT");
...
具有这些字段的文本运行当然也可以在表格单元格中。
完整的例子:
import java.io.FileOutputStream;
import org.apache.poi.xwpf.usermodel.*;
import org.apache.poi.wp.usermodel.HeaderFooterType;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTSectPr;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTPageMar;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblWidth;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.STTblWidth;
import org.apache.xmlbeans.XmlCursor;
import java.math.BigInteger;
public class CreateWordHeaderFooterTable {
public static void main(String[] args) throws Exception {
XWPFDocument document = new XWPFDocument();
// the body content
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run=paragraph.createRun();
run.setText("The Body:");
paragraph = document.createParagraph();
run=paragraph.createRun();
run.setText("Lorem ipsum.... page 1");
paragraph = document.createParagraph();
run=paragraph.createRun();
run.addBreak(BreakType.PAGE);
run.setText("Lorem ipsum.... page 2");
paragraph = document.createParagraph();
run=paragraph.createRun();
run.addBreak(BreakType.PAGE);
run.setText("Lorem ipsum.... page 3");
// create header start
XWPFHeader header = document.createHeader(HeaderFooterType.DEFAULT);
paragraph = header.getParagraphArray(0);
if (paragraph == null) paragraph = header.createParagraph();
paragraph.setAlignment(ParagraphAlignment.LEFT);
run = paragraph.createRun();
run.setText("The Header");
// create footer start
XWPFFooter footer = document.createFooter(HeaderFooterType.DEFAULT);
// create table in footer
paragraph = footer.getParagraphArray(0);
if (paragraph == null) paragraph = footer.createParagraph();
XmlCursor cursor = paragraph.getCTP().newCursor();
XWPFTable table = footer.insertNewTbl(cursor);
XWPFTableRow row = table.getRow(0); if (row == null) row = table.createRow();
int twipsPerInch = 1440;
table.getCTTbl().addNewTblGrid().addNewGridCol().setW(BigInteger.valueOf(7 * twipsPerInch));
for (int i = 0; i < 3; i++) {
XWPFTableCell cell = row.getCell(i); if (cell == null) cell = row.createCell();
CTTblWidth tblWidth = cell.getCTTc().addNewTcPr().addNewTcW();
tblWidth.setW(BigInteger.valueOf(((i==1)?3:2) * twipsPerInch));
tblWidth.setType(STTblWidth.DXA);
paragraph = cell.getParagraphs().get(0);
run = paragraph.createRun();
if (i == 0) {
paragraph.setAlignment(ParagraphAlignment.LEFT);
run.setText("Left footer text");
} else if (i == 1) {
paragraph.setAlignment(ParagraphAlignment.CENTER);
run.setText("Page ");
paragraph.getCTP().addNewFldSimple().setInstr("PAGE \\* MERGEFORMAT");
run = paragraph.createRun();
run.setText(" of ");
paragraph.getCTP().addNewFldSimple().setInstr("NUMPAGES \\* MERGEFORMAT");
} else if (i == 2) {
paragraph.setAlignment(ParagraphAlignment.RIGHT);
run.setText("Right footer text");
}
}
FileOutputStream out = new FileOutputStream("CreateWordHeaderFooterTable.docx");
document.write(out);
out.close();
document.close();
}
}
Java页码超出_java - 表中的页码 - 堆栈内存溢出相关推荐
- java中pack函数_java - Java函数pack(),JFrame大小 - 堆栈内存溢出
我在使用函数pack()时遇到了一些问题,因为我知道它应该将JFrame的大小设置为最小. 这是我的杰作: import java.awt.*; import java.awt.event.*; im ...
- java光标位置无效_java - java.sql.SQLException:无效的光标位置 - 堆栈内存溢出
我创建了一个简单的应用程序,使用户可以购买门票. 但是,每当我尝试购买" n"张门票时,都会遇到此错误. 现在,我知道在使用数据库进行操作时需要crs.next()语句,我已经使用 ...
- java 处理byte_java - 文件到Java中的byte [] - 堆栈内存溢出
===============>>#1 票数:1222 例: import java.io.File; import java.nio.file.Files; File file; // ...
- java comparator内部类_java - Java Comparator使用.reverseOrder()但内部类 - 堆栈内存溢出...
我正在创建一个简单的程序来了解Java Comparator类. 我已经按顺序对一个Arraylist了排序,但现在我想按降序对列表进行排序,但是我在调用.reverseOrder()方法时遇到问 ...
- java 构造器 null_java - 主结尾处的Java构造函数用户输入在构造函数中为Null - 堆栈内存溢出...
每次编写new Circle1()都会创建一个全新的对象,该对象与其他对象无关. 而当你这样做 Cercle1 pi = new Cercle1(); Cercle1 radius= new Cerc ...
- Java顺序栈的初始化_java - Java类变量初始化的顺序是什么? - 堆栈内存溢出
在Java中,类变量按以下顺序初始化: 超类的静态变量 此类的所有静态变量都设置为其默认值 . 静态变量和静态初始化块,按声明顺序排列. 超类的实例变量 此类的所有实例变量都设置为其默认值 . 声明顺 ...
- java字符串转语音文件_java - Java文字转语音(Spring Boot) - 堆栈内存溢出
我从事的项目是必须使用SpringBoot生成验证码. 我想要一个"文本到语音"功能,并且声音文件必须使用SpringBoot生成(否则这将是一个巨大的安全问题). 我生成了一个验 ...
- java enumerable_java - Java相当于C#的'Enumerable.Any' - 堆栈内存溢出
使用Java 8,您可以编写如下内容: if (Stream.of(">", " ... } 出于好奇,我运行了一个基准来比较这个方法和一个正则表达式. 下面的代码 ...
- 组件文件已损坏或android内部模块,android - Android Q更新后,模块化系统组件在托管配置文件中不可用 - 堆栈内存溢出...
在从工作配置文件配置的设备设置应用中将操作系统从Android 9升级到10后,请停止运行. java.lang.RuntimeException: Unable to start activity ...
最新文章
- java 匿名内部类
- 用户画像技术及方法论
- pyqt5中使用QtDesigner生成ui文件
- 静物摄影用光技巧_摄影技巧:冬天的阳光怎样拍才更美?
- 北京协和医学院823计算机原理,2017年北京协和医学院放射医学研究所(天津)823计算机原理考研题库...
- Struts自定义拦截器拦截器工作原理
- php5.3+for+linux,Centos 安装 nginx + php5.3
- gen文件下有两个R.java_android工程gen目录中R.java包名是怎么确定
- Linux FTP安装问题
- Windows 10 环境VS报表rdlc 中文乱码解决方案
- java语言构造顺序树_PAT-1086(Tree Traversals Again)Java语言实现+根据中序和前序遍历构建树并且给出后序遍历序列...
- 解决QML Window 增加radius效果
- pymol作图-设置label的字体
- python tornado异步_python tornado异步性能测试
- 如何在前台输出代码<xmp>,标签,并且是内容自动换行
- SRP-PHAT综述
- 黑苹果安装教程OC引导
- echart水滴_echarts 水球图
- 任天堂Switch会员+扩展包售价30美元太贵
- Error: Could not find tools necessary to compile a package/compilation failed for package