Java 在Word指定段落/文字位置插入分頁符

iceblue發表於2022-04-11

在Word插入分頁符可以在指定段落後插入,也可以在特定文字位置處插入。本文,將以Java程式碼來操作以上兩種文件分頁需求。下面是詳細方法及步驟。

【程式環境】

在程式中匯入jar,如下兩種方法:

方法1手動引入。將 Free Spire.Doc for Java 下載到本地,解壓,找到lib資料夾下的Spire.Doc.jar檔案。在IDEA中開啟如下介面,將本地路徑中的jar檔案引入Java程式:

方法2(推薦使用):通過 Maven 倉庫下載。如下配置pom.xml:

<repositories>
        <repository>
            <id>com.e-iceblue</id>
            <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
        </repository>
    </repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.doc.free</artifactId>
        <version>5.2.0</version>
    </dependency>
</dependencies>

 

【插入分頁符】

1.在指定段落後插入分頁符

Java

import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.Section;
import com.spire.doc.documents.BreakType;
import com.spire.doc.documents.Paragraph;

public class PageBreak1 {
    public static void main(String[] args) {
        //建立Document類的物件
        Document document = new Document();
        //載入Word文件
        document.loadFromFile("test.docx");

        //獲取第一節
        Section section = document.getSections().get(0);
        //獲取第一節中的第3個段落
        Paragraph paragraph = section.getParagraphs().get(2);

        //新增分頁符
        paragraph.appendBreak(BreakType.Page_Break);

        //儲存文件
        document.saveToFile("output.docx", FileFormat.Docx_2013);
    }
}

 

2.在指定文字位置後插入分頁符

Java

import com.spire.doc.Break;
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.documents.BreakType;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.TextSelection;
import com.spire.doc.fields.TextRange;

public class PageBreak2 {
    public static void main(String[] args) {
        //建立Document類的例項
        Document document = new Document();

        //載入Word文件
        document.loadFromFile("test.docx");

        //查詢指定文字
        TextSelection selection = document.findString("“東盟共同體”宣告成立。", true, true);
        //獲取查詢的文字範圍
        TextRange range = selection.getAsOneRange();
        //獲取文字範圍所在的段落
        Paragraph paragraph = range.getOwnerParagraph();

        //獲取文字範圍在段落中的位置索引
        int index = paragraph.getChildObjects().indexOf(range);

        //建立分頁
        Break pageBreak = new Break(document, BreakType.Page_Break);

        //在查詢的文字位置後面插入分頁符
        paragraph.getChildObjects().insert(index + 1, pageBreak);

        //儲存文件
        document.saveToFile("InsertPageBreakAfterText.docx", FileFormat.Docx_2013);
    }
}

 

—END—

 

相關文章