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

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

目标文档效果:

2. 辅助工具

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

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

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

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

  1. <repositories>
  2. <repository>
  3. <id>com.e-iceblue</id>
  4. <url>http://repo.e-iceblue.cn/repository/maven-public/</url>
  5. </repository>
  6. </repositories>
  7. <dependencies>
  8. <dependency>
  9. <groupId> e-iceblue </groupId>
  10. <artifactId>spire.doc.free</artifactId>
  11. <version>3.9.0</version>
  12. </dependency>
  13. </dependencies>

导入结果:

3. Java代码示例

  1. import com.spire.doc.*;
  2. import com.spire.doc.documents.DocumentObjectType;
  3. import com.spire.doc.documents.Paragraph;
  4.  
  5. public class DeleteBlankParas {
  6. public static void main(String[] args) {
  7. //加载Word测试文档
  8. Document doc = new Document();
  9. doc.loadFromFile("test.docx");
  10.  
  11. //遍历Section
  12. for(int i = 0; i< doc.getSections().getCount();i++)
  13. {
  14. //获取section
  15. Section section = doc.getSections().get(i);
  16.  
  17. //遍历section中的对象
  18. for (int j = 0;j<section.getBody().getChildObjects().getCount();j++)
  19. {
  20. //获取对象类型
  21. Object object = section.getBody().getChildObjects().get(j).getDocumentObjectType();
  22.  
  23. //遍历段落
  24. for(int z = 0 ; z<section.getParagraphs().getCount();z++)
  25. {
  26. //获取段落
  27. Paragraph paragraph = section.getParagraphs().get(z);
  28.  
  29. //判断对象类型是否为段落
  30. if(object.equals(DocumentObjectType.Paragraph))
  31. {
  32. //判断段落内容是否为空
  33. if(paragraph.getChildObjects().getLastItem() == null)
  34. {
  35. //删除空白段落
  36. section.getBody().getParagraphs().remove(paragraph);
  37. z--;
  38. }
  39. }
  40. }
  41.  
  42. }
  43. }
  44.  
  45. //保存文档
  46. doc.saveToFile("DeleteBlankParas.docx",FileFormat.Docx_2013);
  47. doc.dispose();
  48. }
  49. }

< 完 >

Java 批量删除Word中的空白段落的更多相关文章

  1. C# 批量删除Word超链接

    对于Word文档中包含较多的超链接,如果一个个来删除很花费时间和精力,本篇文章将提供一种可用于批量删除Word中的超链接的方法.这里的超链接可以是页眉页脚处的超链接.正文中的超链接.表格中的超链接.文 ...

  2. 删除Word中出现的空白页

    删除Word中出现的空白页 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ Word中出现空白页,怎么删都删不掉,Backspace与Delete键不管 ...

  3. SQLServer 命令批量删除数据库中指定表(游标循环删除)

    DECLARE @tablename VARCHAR(30),@sql VARCHAR(500)DECLARE cur_delete_table CURSOR READ_ONLY FORWARD_ON ...

  4. SQL触发器批量删除数据库中的表

    以下通过触发器批量删除数据库中的表,SQL2008已验证 DECLARE @Table NVARCHAR() DECLARE @Count Int = DECLARE tmpCur CURSOR FO ...

  5. 如何批量删除Docker中已经停止的容器

    如何批量删除Docker中已经停止的容器   方法一: #显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID, sudo docker ps -a|grep Exited|awk '{p ...

  6. Java-Runoob-高级教程-实例-字符串:03. Java 实例 - 删除字符串中的一个字符

    ylbtech-Java-Runoob-高级教程-实例-字符串:03. Java 实例 - 删除字符串中的一个字符 1.返回顶部 1. Java 实例 - 删除字符串中的一个字符  Java 实例 以 ...

  7. 批量删除Windows7中隧道适配器的方法

    批量删除Windows7中隧道适配器的方法 1.在网卡属性的"网络"中,将"Internet协议版本(TCP/IPv6)"前面的勾去掉. 2.在CMD下分别执行 ...

  8. 如何批量删除word文档中的超级链接?

    有时候从网页上copy来的文章中,会带有非常多的链接,这些链接很烦人是吧?如何批量删除(一次性全部删除)word文章中的超链接呢? 有些朋友说,Ctrl+A全选文章,然后点击格式工具栏上的“清除格式” ...

  9. 如何删除word中多余的空格和空行

    去除word中多余的空格及空行 一.去掉表格和格式 为了版面的整齐,网页文档都是以表格的形式存在的,只是一般情况下表格的颜色被设为无色或表格宽度被设为0,所以我们在网页上看不到表格.另外,网 页文档中 ...

随机推荐

  1. 最全JVM知识点思维导图,看这一篇就够了

    此处是转发别人的,别人花了二个月, 我花一天时间看完, 觉得很有用 https://www.processon.com/view/link/5eea141cf346fb1ae56a44e7

  2. selenium常用方法集合

    一.selenium定位元素的8种方法: 1.find_element_by_id() 2.find_element_by_name() 3.find_element_by_css() 4.find_ ...

  3. daily plan

    想了想自己留的坑有点多了,写个计划提醒自己 一些没做出来的题 csp-s模拟测试54 z csp-s模拟测试b层加餐 string 平衡树+并查集 因为某杰的**安排,没时间改了csp-s模拟测试47 ...

  4. 【复习】Listening and Reading Comprehension

    短对话 M: Why do you declare the news that you're pregnant on your blog directly? W: I'm so excited tha ...

  5. 《电容应用分析精粹:从充放电到高速PCB设计》最新勘误表

    最新勘误表百度云盘下载 链接: https://pan.baidu.com/s/18yqwnJrCu9oWvFcPiwRWvA  提取码: x3e3    (本勘误表仅包含错误相关部分,不包含对语句的 ...

  6. 理解vertical-align

    vertical-align 支持的属性值及组成 inherit 线类baseline, top, middle, bottom 文本类text-top, text-bottom 上标下标类sub, ...

  7. 流程自动化RPA,Power Automate Desktop系列 - 创建WPF程序安装包及升级包

    一.背景 之前写过的几个WPF小工具,每次发布都需要给它打安装包和升级包,涉及到一些系列繁琐的手工操作,有了Power Automate Desktop,于是便寻思着能不能做成一个自动化的流来使用. ...

  8. 21、nginx之ngx_http_proxy_module模块

    Nginx 的代理功能是通过 ngx_http_proxy_module 模块来实现的.默认在安装 Nginx 时已经安装了ngx_http_proxy_module模 块,因此可直接使用 ngx_h ...

  9. layui table 表格上添加日期控件

    方法一: var tableInit = table.render({ elem: '#tbtxrz' , method: 'post' , data: jsonData , height: &quo ...

  10. 『心善渊』Selenium3.0基础 — 20、Selenium对Cookie的操作

    目录 1.Cookie介绍 2.Session介绍 3.Cookie工作原理图解 4.Cookie内容参数说明 5.Selenium操作Cookie的API 6.Selenium操作Cookie的示例 ...