Java 获取Word中的文本突出显示(高亮)和底纹(背景)

【概述】

文本突出显示和底纹的区别:

在Word里面设置文本“突出显示(高亮)”和“底纹”是通过不同方式来实现的,但是表现出来的文字效果却很相似,不注意区分就很容易弄混,如下图中:

图1

其中的突出显示(高亮)是通过:【字体】-【突出显示】,即高亮,如上图。

而底纹是通过:【设计】-【页面边框】-【底纹】,即文字背景,如下图:

图2

因此,要读取文字突出显示(高亮)或者底纹需要通过不同方法来实现读取,具体可参考如下通过spire.doc.jar 提供的方法来读取:

1. 读取突出显示(高亮),需使用方法:getHighlightColor();

2. 读取文字底纹,需使用方法:getTextBackgroundColor();


【程序环境】

1. 本次测试环境:

● IDEA

● Word测试源文档版本为2013

● Word类库工具spire.Doc.jar为免费版3.9.0


2. 全部测试代码如下:

import com.spire.doc.*;

import com.spire.doc.documents.Paragraph;

import com.spire.doc.fields.TextRange;

import java.awt.*;

     public class GetTextFormat {    

        public static void main(String[] args) {        

                              //加载Word源文档        

                               Document doc = new Document();        

                               doc.loadFromFile("inputfile.docx");        


                                //获取section         

                                Section section = doc.getSections().get(0);        

                                //遍历段落        

                                for(int i = 0; i< section.getParagraphs().getCount();i++)        

                                    {            

                                         Paragraph paragraph = section.getParagraphs().get(i);            

                                         //遍历段落中的子对象            

                                          for (int j = 0; j< paragraph.getChildObjects().getCount();j++)            

                                                 {                

                                                   Object obj = paragraph.getChildObjects().get(j);                

                                                    //判定是否为文本                

                                                    if (obj instanceof TextRange)                

                                                        {                    

                                                              String text = ((TextRange) obj).getText();//获取文本 

                                                               Color color = ((TextRange) obj).getCharacterFormat().getHighlightColor();//获取文本的高亮颜色(即突出显示颜色)                                                                    //Color color1 = ((TextRange) obj).getCharacterFormat().getTextBackgroundColor();//获取文字底纹                    

                                                              if(!(color.getRGB() == 0))                    

                                                                  {                        

                                                                     System.out.println(text + color.toString());//输出文本和颜色                    

                                                                    }                

                                                   }            

                                     }        

                        }    

             }

文本突出显示(高亮)获取结果:

图3

底纹(背景)获取结果:

图4

【总结】

注意区分段落中的文本是突出显示(高亮)还是底纹(背景)设置,需要采用对应的方法来读取。


可关注公众号【Office文档开发】获取更多文档开发内容。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 当我们制作好Word文档后,想要让枯燥乏味的文本显得有活力,或是想高亮显示文档中指定的段落或文字,此时我们可...
    Tina_Tang阅读 590评论 0 0
  • 一、前言及环境搭建 在Word文档中,我们可以在录入文本信息时加入一些图形,来使内容更加生动形象且富有独特样式。前...
    Tina_Tang阅读 332评论 0 0
  • 书签,意指一本书的标签,主要用于使读者更快地找到阅读或修改的位置。同理,在Word中编辑或阅读文档时,也可通...
    Tina_Tang阅读 996评论 0 1
  • 在Word文档中,页眉位于文档中每个页面的顶部区域,而页脚则位于文档中每个页面的底部区域。它们都常用于显示文档的附...
    Tina_Tang阅读 2,012评论 0 1
  • 推荐指数: 6.0 书籍主旨关键词:特权、焦点、注意力、语言联想、情景联想 观点: 1.统计学现在叫数据分析,社会...
    Jenaral阅读 5,756评论 0 5