[英]How to create section breaks type next page in docx by apache poi
我想在docx文件中創建不同的節,每個節具有不同的頁碼格式(一個節具有1,2,3 ...頁碼格式,另一節具有a,b,c,...頁碼格式等。 )。 我想為每個部分選中“首頁不同”選項,如下圖所示:
注意:我嘗試使用此代碼,但是它們創建分頁符而不是分節符:
....
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
run.addBreak(BreakType.PAGE);
....
另一個代碼:
paragraph = document.createParagraph();
paragraph.setPageBreak(true);
這兩個代碼都創建分頁符而不是分節符。
首先,如何創建分節符? 第二,如何設置不同的頁碼格式? 第三,如何為每個部分設置“首頁不同”選項? 謝謝。
POI當前(從POI 3.17開始)不支持高級界面中的部分。 您將必須了解基礎XML並使用CT類來構造您的部分。 這是高空飛過的地方。 對於文檔中最后一節以外的所有節, <sectPr>
元素存儲在該節的最后一段中。 為一個文件的最后部分,所述<sectPr>
元素是的最后一個子元素<body>
元素。 您將不得不自己編寫此代碼。 也許您可以為該項目提供補丁。
根據jmarkmurphy的回答,我實現了一些對我有用的東西:
CTBody body = document.getDocument().getBody();
CTSectPr sectPr = body.getSectPr();
if (sectPr != null) {
XWPFParagraph lastParagraph = document.createParagraph();
lastParagraph.getCTP().addNewPPr().setSectPr(sectPr);
body.unsetSectPr();
}
document.createParagraph().setPageBreak(true);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.