本文将使用Free S for Java控件来批量删除Word文档中的空白段落,以使得文章整体布局美观整洁。
在运行代码前,需将使用控件里的jar文件导入IDEA。导入方式有两种:
(1)通过E-iceblue中文官网下载产品包,解压后手动将lib文件夹下的S导入Java程序;
(2)通过Maven仓库安装导入。仅需在文件中导入以下配置:
<repositories> <repository> <id>com.e-iceblue</id> <url>;/url> </repository> </repositories> <dependencies> <dependency> <groupId> e-iceblue </groupId> <artifactId>;/artifactId> <version>3.9.0</version> </dependency> </dependencies>
代码示例
import com..*; import com..documents.DocumentObjectType; import com..documents.Paragraph; public class DeleteBlankParas { public static void main(String[] args) { //加载Word测试文档 Document doc = new Document(); doc.loadFromFile("C:\\Users\\Test1\\Desktop\\Sam;); //遍历Section for(int i = 0; i< doc.getSections().getCount();i++) { //获取section Section section = doc.getSections().get(i); //遍历section中的对象 for (int j = 0;j<().getChildObjects().getCount();j++) { //获取对象类型 Object object = ().getChildObjects().get(j).getDocumentObjectType(); //遍历段落 for(int z = 0 ; z<().getCount();z++) { //获取段落 Paragraph paragraph = ().get(z); //判断对象类型是否为段落 i)) { //判断段落内容是否为空 i().getLastItem() == null) { //删除空白段落 ().getParagraphs().remove(paragraph); z--; } } } } } //保存文档 doc.saveToFile("outpu;,FileFormat.Docx_2013); doc.dispose(); } }
效果前后对比: