ITPub博客

首页 > 应用开发 > Java > Java 批量删除Word中的空白段落

Java 批量删除Word中的空白段落

原创 Java 作者:Mia张 时间:2020-11-10 16:16:33 0 删除 编辑

1. 测试文档、期望达到的目标文档效果

用于测试的Word文档如下所示,包含的空白段落影响文章整体布局及美观性:

目标文档效果:


2. 辅助工具

2.1 使用类库: Free Spire.Doc for Java (免费版)

2.2 类库jar导入(2种导入方法供参考):

①.     通过官网 下载jar包,解压,手动将lib文件夹下的Spire.Doc.jar导入java程序;

②.     Maven程序中导入jar需先 配置pom.xml文件,然后导入程序,如下配置:

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

导入结果:


3. Java 代码示例

 import com.spire.doc.*;
 import com.spire.doc.documents.DocumentObjectType;
 import com.spire.doc.documents.Paragraph;
 
 public class DeleteBlankParas {
     public static void main(String[] args) {
         //加载Word测试文档
         Document doc = new Document();
         doc.loadFromFile("test.docx");
 
         //遍历Section
         for(int i = 0; i< doc.getSections().getCount();i++)
         {
             //获取section
             Section section = doc.getSections().get(i);
 
             //遍历section中的对象
             for (int j = 0;j<section.getBody().getChildObjects().getCount();j++)
             {
                 //获取对象类型
                 Object object = section.getBody().getChildObjects().get(j).getDocumentObjectType();
 
                 //遍历段落
                 for(int z = 0 ; z<section.getParagraphs().getCount();z++)
                 {
                     //获取段落
                     Paragraph paragraph = section.getParagraphs().get(z);
 
                     //判断对象类型是否为段落
                     if(object.equals(DocumentObjectType.Paragraph))
                     {
                         //判断段落内容是否为空
                         if(paragraph.getChildObjects().getLastItem() == null)
                         {
                             //删除空白段落
                             section.getBody().getParagraphs().remove(paragraph);
                             z--;
                         }
                     }
                 }
 
             }
         }
 
         //保存文档
         doc.saveToFile("DeleteBlankParas.docx",FileFormat.Docx_2013);
         doc.dispose();
     }
 }


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31499788/viewspace-2733328/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2017-10-27

  • 博文量
    166
  • 访问量
    146987