簡體   English   中英

如何創建分節符在apx中鍵入下一頁apache poi

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM