刚开始使用POI 3.10创建Word文档(XWPF).大多数事情都是直截了当的,但我不明白如何添加页码.我添加了页脚,但页脚中的文本在每个页面上都是相同的
小智 8
我在LibreOffice右侧的页脚中创建了一个页码,并调查了XML文件(POI中不支持MS Word-Std-Objects,用于页码).
这将创建更复杂的页脚...
将数字设置为其他位置为ctjc而不是STJc.RIGHT设置另一个值...
结果如下:
// create footer
XWPFHeaderFooterPolicy 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.RIGHT);
ctppr.addNewRPr();
// Add in word "Page "
CTR ctr = ctpFooter.addNewR();
CTText t = ctr.addNewT();
t.setStringValue("Page ");
t.setSpace(Space.PRESERVE);
// add everything from the footerXXX.xml you need
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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6333 次 |
| 最近记录: |