Java 读取 Word文档的字体、字号、文字颜色、文字背景、文字是否加粗或倾斜、文字下划线、段落等属性
- Work库:free spire.doc.jar 3.9.0
由于这个包比较大,maven依赖容易下载失败,故此提供百度云下载地址,下载地址在最下面
可支持读取字体、字号、文字颜色、文字背景、文字是否加粗或倾斜、文字下划线、大小写、边框、上标下标、行距、段落缩进、对齐方式、段落边框、背景等等
测试的Word文档内容
mavne依赖
<dependencies><!-- java 读取word文件里面的加颜色的字体(特殊字体) --><dependency><groupId> e-iceblue </groupId><artifactId>spire.doc.free</artifactId><version>3.9.0</version></dependency>
</dependencies><!-- java 读取word文件里面的加颜色的字体(特殊字体) --><repositories><repository><id>com.e-iceblue</id><name>e-iceblue</name><url>http://repo.e-iceblue.com/nexus/content/groups/public/</url></repository></repositories>
代码:
package com.test.word;import com.spire.doc.Document;
import com.spire.doc.collections.DocumentObjectCollection;
import com.spire.doc.collections.SectionCollection;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.documents.TextSelection;
import com.spire.doc.fields.TextRange;import java.awt.*;public class Test {public static void main(String[] args) {//加载Word源文档Document doc = new Document();// 读取文件doc.loadFromFile("C:\\Users\\admin-xu\\Desktop\\word.docx");doc.loadFromFile("C:\\Users\\admin-xu\\Desktop\\word.wps",FileFormat.Auto);/
通过文件上传处理,不是直接路径加载的// 前段传输文件,后端通过 MultipartFile file 接收参数String fileName = file.getOriginalFilename();String fileType = fileName.substring(fileName.lastIndexOf(".") + 1, fileName.length());if(fileType.equals("docx")){doc.loadFromStream(file.getInputStream(), FileFormat.Docx);}else if(fileType.equals("doc")){doc.loadFromStream(file.getInputStream(), FileFormat.Doc);}else if(fileType.equals("wps")){doc.loadFromStream(file.getInputStream(), FileFormat.Auto);}// //获取段落数量int count = doc.getSections().get(0).getParagraphs().getCount();System.out.println("总共含有段落数:" + count);//查找指定文本TextSelection textSelections = doc.findString("组织编制修订", false, true);//获取字体名称String fontname = textSelections.getAsOneRange().getCharacterFormat().getFontName();//获取字体大小float fontsize = textSelections.getAsOneRange().getCharacterFormat().getFontSize();System.out.println("字体名称:" + fontname + "\n" + "字体大小:" + fontsize);SectionCollection sections = doc.getSections();//获取第二段// Paragraph paragraph2 = doc.getSections().get(0).getParagraphs().get(1);//获取段落行距
// float linespage = paragraph2.getFormat().getLineSpacing();
// System.out.println("段落行距:" + linespage);for (int i = 0 ; i < count ; i++){Paragraph paragraph = doc.getSections().get(0).getParagraphs().get(i);//遍历段落中的子对象for (int z = 0; z < paragraph.getChildObjects().getCount(); z++) {Object obj2 = paragraph.getChildObjects().get(z);//判定是否为文本if (obj2 instanceof TextRange) {TextRange textRange2 = (TextRange) obj2;//获取文本颜色Color textcolor = textRange2.getCharacterFormat().getTextColor();if (!(textcolor.getRGB() == 0)) {int counts = i + 1 ;System.out.println("第" + counts + " 段数据 == 文本颜色: " + textRange2.getText() + " ===== " + textcolor.toString());}//获取字体加粗效果/*boolean isbold = textRange2.getCharacterFormat().getBold();if (isbold == true) {System.out.println("加粗文本:" + textRange2.getText());}*///获取字体倾斜效果/*boolean isitalic = textRange2.getCharacterFormat().getItalic();if (isitalic == true) {System.out.println("倾斜文本:" + textRange2.getText());}*///获取文本背景/* String text = textRange2.getText();Color highlightcolor = textRange2.getCharacterFormat().getHighlightColor();//获取文本的高亮颜色(即突出显示颜色)if (!(highlightcolor.getRGB() == 0)) {System.out.println("文本高亮:" + text + " =========== " +highlightcolor.toString());//输出高亮的文本和颜色}*//*Color textbackgroundcolor = textRange2.getCharacterFormat().getTextBackgroundColor();//获取文字背景(底纹)if (!(textbackgroundcolor.getRGB() == 0)) {System.out.println("文本背景:" + text + textbackgroundcolor.toString());//输出有背景的文本和颜色}*/}}}}}
打印日志
jar包下载地址:
链接:https://pan.baidu.com/s/1oU-DDQwpb7XNyI0nYB_-pw
提取码:1234
Java 读取 Word文档的字体、字号、文字颜色、文字背景、文字是否加粗或倾斜、文字下划线、段落等属性相关推荐
- java读取word文档里面的内容(包括doc和docx格式)
java读取word文档里面的内容(包括doc和docx格式) java读取word文档里面的内容(包括doc和docx格式),使用POI架包 使用的POI架包如下 poi-3.16.jar poi- ...
- Java 读取Word文档中的文本内容
这篇文章将介绍如何使用Free Spire.Doc for Java组件在Java应用程序中读取Word文档的文本内容.Free Spire.Doc for Java提供了两种方法来读取Word文档中 ...
- Java读取word文档里的复杂型表格(任免表)
使用apache-poi读取word文档里的复杂型表格 这里使用的任免表编辑器产生的word文档. word模板:https://download.csdn.net/download/weixin_4 ...
- java读取word文档的复杂表格_poi读取word表格 java POI 如何读取word的表格中的表格...
poi 操作word 2007 (如何删除word中的某一个表格)小编忘了哪年哪月的哪日小编在哪面墙上刻下张脸张微笑着忧伤着凝望小编的脸. public static void changeTable ...
- java读取word文档中的文字和图片,doc和docx兼容版
也是我东抄抄,西抄抄拿来测试改装的,话不多说,直接上代码 <dependency><groupId>commons-io</groupId><artifact ...
- java读取word文档内容_合并多个Word文档内容,还在复制粘贴就out了,同事五秒轻松搞定...
在我们工作中,我们经常会编写多个Word文档内容,那么怎么将多个单个的Word文档合并到一个文档中,这就会显得有些难度. 如上图所示,我们需要将三个不同的案例,快速的汇总到我们的案例汇总表当中.许多朋 ...
- java读取word文档内容_Python读取PDF信息插入Word文档
Hello,上个周末没能搞事情,被一个代码需求给绊住了:朋友在平时工作中会经常重复性地打开不同PDF文件,选取其中特定的几组信息复制粘贴到不同的Word文档中,完成一份PDF文件平均耗时15分钟,想试 ...
- Java读取word文档,转换为网页
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://shamrock.blog.51cto.com/2079212/833580 pu ...
- java读取带格式word文档_Java读取word文档解决方案
java读取word文档时,虽然网上介绍了很多插件poi.java2Word.jacob.itext等等,poi无法读取格式(新的API估计行好像还在处于研发阶段,不太稳定,做项目不太敢用):java ...
最新文章
- 如何区分“Invoice代码”和“Invoice号码”?
- 解析提高PHP执行效率的50个技巧(转)
- 电脑系统linux普通用户,Linux操作系统用户管理
- 制造业数字化转型的困难_智能制造如何助力企业转型升级?百家制造业企业共谋数字化转型路...
- windows8 开发教程 教你制作 多点触控Helper可将任意容器内任意对象进行多点缩放...
- ASP.NET防止用户多次登录的方法
- 台式计算机文件打不开怎么回事,电脑文件打不开怎么回事
- VB2010的串口能正常接收数据,但无法发送数值大于127的数据
- 华为日历怎么显示一月_华为10手机日历图标在哪 华为日历怎么显示
- VS2017社区版30天到期无法使用的激活方法——注册用户登录即可
- Mini-C编译器设计与实现 文档+任务书+评价表+PPT+项目源码
- 小米高级交互设计师:产品设计的八个原则
- thinkphp5 TP5 两表关联查询
- 简单 PS CS6蒙版抠图技巧
- 【PHPWord】PHPWord导出PDF格式文件的几种方式以及最优解并附代码
- 关于微信小程序获取小程序码并接受buffer流保存为图片
- 高级货!Django实现基于人脸识别的门禁管理系统【源码】
- Ruby+Watir经验谈: Understanding Watir
- 技美 百人计划 (图形)1.1渲染流程
- 三次计算机病毒爆发,小心你的计算机中招 未来一周将有3次计算机病毒入侵
热门文章
- Dynamics CRM 非声明验证方式下连接组织服务的两种方式的性能测试
- 用python实现webshark(实现web版的wireshark功能)
- 指标之王MACD计算公式
- vue 点击浏览器全屏取消全屏
- c++制作CSDN登录界面点赞神器
- 《一出好戏》讲述人性,使用Python抓取猫眼近10万条评论并分析,一起揭秘“这出好戏”到底如何?
- (四十六:2021.08.17)《医疗物联网单导联心电波心房颤动检测研究》
- VMwear workstation install windows7 operation syy
- XBT TRACKER INSTALLATION
- Android远程桌面deepin,deepin官方论坛-深度科技官网旗下网站