[英]Add a page number in header in .docx using apache poi
我的.docx文檔中有一個文本標題,該標題與左側對齊。 我想在頁眉的右側添加頁碼,例如“ Page 1”,“ Page 2”等。我正在使用Apache POI進行相同操作,是否有任何可能的方法來進行操作。我正在使用下面的代碼添加左對齊的標題-
XWPFDocument document = new XWPFDocument();
CTSectPr sectPr = document.getDocument().getBody().addNewSectPr();
XWPFHeaderFooterPolicy policy = new XWPFHeaderFooterPolicy(document, sectPr);
//write header content
CTP ctpHeader = CTP.Factory.newInstance();
CTR ctrHeader = ctpHeader.addNewR();
CTText ctHeader = ctrHeader.addNewT();
String headerText = "This is a header";
ctHeader.setStringValue(headerText);
XWPFParagraph headerParagraph = new XWPFParagraph(ctpHeader, document);
XWPFParagraph[] parsHeader = new XWPFParagraph[1];
parsHeader[0] = headerParagraph;
policy.createHeader(XWPFHeaderFooterPolicy.DEFAULT, parsHeader);`
請幫助我解決這個問題。
問題已解決。 現在,我可以在標題中添加右對齊的頁碼。
我已經使用以下鏈接作為參考-Apache POI如何添加頁碼
下面的代碼現在對我來說很好用-
XWPFDocument document = new XWPFDocument();
CTSectPr sectPr = document.getDocument().getBody().addNewSectPr();
XWPFHeaderFooterPolicy policy = new XWPFHeaderFooterPolicy(document, sectPr);
//write header content
CTP ctpHeader = CTP.Factory.newInstance();
CTR ctrHeader = ctpHeader.addNewR();
CTText ctHeader = ctrHeader.addNewT();
String headerText = "FISHER SCIENTIFIC COMPANY L.L.C. DISTRIBUTION AGREEMENT";
ctHeader.setStringValue(headerText);
//write page number header
CTP ctpHeaderPage = CTP.Factory.newInstance();
CTPPr ctppr = ctpHeaderPage.addNewPPr();
CTString pst = ctppr.addNewPStyle();
pst.setVal("style21");
CTJc ctjc = ctppr.addNewJc();
ctjc.setVal(STJc.RIGHT);
ctppr.addNewRPr();
CTR ctr = ctpHeaderPage.addNewR();
ctr.addNewRPr();
CTFldChar fch = ctr.addNewFldChar();
fch.setFldCharType(STFldCharType.BEGIN);
ctr = ctpHeaderPage.addNewR();
ctr.addNewInstrText().setStringValue(" PAGE ");
ctpHeaderPage.addNewR().addNewFldChar().setFldCharType(STFldCharType.SEPARATE);
ctpHeaderPage.addNewR().addNewT().setStringValue("1");
ctpHeaderPage.addNewR().addNewFldChar().setFldCharType(STFldCharType.END);
XWPFParagraph headerParagraph = new XWPFParagraph(ctpHeader, document);
XWPFParagraph headerParagraphPage = new XWPFParagraph(ctpHeader, document);
XWPFParagraph[] parsHeader = new XWPFParagraph[2];
parsHeader[0] = headerParagraph;
parsHeader[1] = headerParagraphPage;
policy.createHeader(XWPFHeaderFooterPolicy.DEFAULT, parsHeader);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.