在 Java 中的 Word 中插入分页符


分页符是一个特殊的标记,它将结束当前页面并开始一个新页面。在 Word 中,您可以在所需的任何位置插入分页符,并且它不会更改文档中上一页的格式。本文将分享如何使用免费的Spire.Doc for Java库从以下2个方面将分页符插入到Word文档中

  • 在特定段落后插入分页符

  • 在特定文本后插入分页符

安装库

方法一:下载免费库并解压缩。然后将 Spire.Doc.jar 文件作为依赖项添加到 Java 应用程序中。
方法二:通过向pom.xml添加以下配置,直接将jar依赖添加到maven项目中。

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

在特定段落后插入分页符

使用 Free Spire.Doc for Java,您可以使用 Section.getParagraphs().get(paragraphIndex) 方法获取指定的段落,然后使用 Paragraph.appendBreak(BreakType.Page_Break) 方法向段落添加分页符。完整的示例代码如下所示。

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

public class InsertPageBreakAfterParagraph {
    public static void main(String[] args){
        //Create a Document instance
        Document document = new Document();
        //Load a Word document
        document.loadFromFile("Budget.docx");

        //Get the first section
        Section section = document.getSections().get(0);
        //Get the 2nd paragraph in the section
        Paragraph paragraph = section.getParagraphs().get(1);

        //Append a page break to the paragraph
        paragraph.appendBreak(BreakType.Page_Break);

        //Save the result document
        document.saveToFile("InsertPageBreak.docx", FileFormat.Docx_2013);
    }
}

在特定文本后插入分页符

要在特定文本之后插入分页符,您需要首先找到指定的文本,然后获取其文本范围以及文本范围的位置索引。最后,您可以使用 Paragraph.getChildObjects().insert() 方法在指定文本之后插入分页符。完整的示例代码如下所示。

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 InsertPageBreakAfterText {
    public static void main(String[] args){
        //Create a Document instance
        Document document = new Document();

        //Load a Word document
        document.loadFromFile("Budget.docx");

        //Search a specific text
        TextSelection selection = document.findString("anticipated", true, true);
        //Get the text range of the searched text
        TextRange range = selection.getAsOneRange();
        //Get the paragraph where the text range is located
        Paragraph paragraph = range.getOwnerParagraph();
        //Get the position index of the text range in the paragraph
        int index = paragraph.getChildObjects().indexOf(range);

        //Create a page break
        Break pageBreak = new Break(document, BreakType.Page_Break);
        //Insert the page break after the searched text
        paragraph.getChildObjects().insert(index + 1, pageBreak);

        //Save the result document
        document.saveToFile("InsertPageBreakAfterText.docx", FileFormat.Docx_2013);
    }
}

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/291983.html

(0)
上一篇 2022年10月29日
下一篇 2022年10月29日

相关推荐

发表回复

登录后才能评论