【环境配置】

本文将通过Java程序代码来展示如何来获取Word批注所标注的文本和图片。这里使用的Word Jar包工具是Free Spire.Doc for Java,在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>

【测试文档】

测试文档如图,包含对文本和图片标记的批注:

 【Java代码】

import com.spire.doc.*;
import com.spire.doc.documents.CommentMark;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.fields.Comment;
import com.spire.doc.fields.DocPicture;
import com.spire.doc.fields.TextRange;import javax.imageio.ImageIO;
import java.awt.image.RenderedImage;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;public class GetMarkedTextAndImg {public static void main(String[] args)throws IOException {//加载Word文档Document doc = new Document();doc.loadFromFile("inputfile.docx");//获取文档中批注for(int a = 0;a<doc.getComments().getCount();a++){Comment comment = doc.getComments().get(a);//获取批注的开始标记和结束标记Paragraph para = comment.getOwnerParagraph();CommentMark start = comment.getCommentMarkStart();CommentMark end = comment.getCommentMarkEnd();//获取开始标记和结束标记在段落中的索引int indexOfStart = para.getChildObjects().indexOf(start);int indexOfEnd = para.getChildObjects().indexOf(end);String markedText = "";ArrayList images = new ArrayList();//根据索引获取批注的开始标记和结束标记之间的文字、图片for (int i = indexOfStart + 1; i < indexOfEnd; i++){if (para.getChildObjects().get(i) instanceof TextRange){TextRange range = (TextRange) para.getChildObjects().get(i);markedText += range.getText();}if (para.getChildObjects().get(i) instanceof DocPicture){DocPicture picture = (DocPicture) para.getChildObjects().get(i);images.add(picture.getImage());}}//打印批注标记的文本System.out.println(markedText);//提取批注标记的图片for (int z = 0; z< images.size(); z++){File file = new File(String.format("MarkedImg.png", z));ImageIO.write((RenderedImage) images.get(z), "PNG", file);}}}
}

批注标记的文本读取结果:

批注标记的图片:

另推荐阅读:

  • Java 添加、回复、修改(替换)、删除Word批注
  • Java 给Word指定字符串添加批注
  • Java 读取Word批注中的文本和图片

—End—

Java 获取Word批注所标记的文本和图片相关推荐

  1. java提取word中的图片_Java怎么获取Word批注的文字和图片

    Java怎么获取Word批注的文字和图片 发布时间:2020-06-23 11:07:08 来源:亿速云 阅读:119 作者:Leah 这篇文章将为大家详细讲解有关Java获取Word批注的文字和图片 ...

  2. Word处理控件Aspose.Words功能演示:用Java从Word文档中提取文本

    Aspose.Words For .NET是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsof ...

  3. C# 获取word批注信息

    今天在Silverlight 应用程序中实现了 获取word文档批注信息 的功能. 在wcf服务继承接口类中编写的函数如下 [c-sharp] view plaincopy /// <summa ...

  4. 【Python】导出docx格式Word文档中的文本、图片和附件等

    [Python]导出docx格式Word文档中的文本.图片和附件等 零.需求 为批量批改学生在机房提交的实验报告,我需要对所有的实验文档内容进行处理.需要批量提取Word文档中的图片和附件以便进一步检 ...

  5. Word模板文件,替换内容 文本、图片、表格、列表、区块、嵌套等

    Word模板文件,替换内容 文本.图片.表格.列表.区块.嵌套等 实例:员工信息表Word文件,程序动态替换内容,生成pdf文件 话不多说,先看效果图! 优势: 1.模板只是布局调整,程序无需修改! ...

  6. Java 读取Word批注中的文本和图片

    本文将介绍读取Word批注的方法,包括读取Word批注中的文本及图片.下面将通过Java代码来演示如何读取批注. **工具使用:**Word类库(Free Spire.Doc for Java 免费版 ...

  7. [原创]java获取word里面的文本

    需求场景 开发的web办公系统如果需要处理大量的Word文档(比如有成千上万个文档),用户一定提出查找包含某些关键字的文档的需求,这就要求能够读取 word 中的文字内容,而忽略其中的文字样式.表格. ...

  8. java提取word中的文字,java获取word里面的文本

    需求场景 开发的web办公系统如果需要处理大量的Word文档(比如有成千上万个文档),用户一定提出查找包含某些关键字的文档的需求,这就要求能够读取 word 中的文字内容,而忽略其中的文字样式.表格. ...

  9. java解析word批注

    最近有一个需求,通过java读取word文档,获取里面的批注内容,批注的作者以及被批注的内容,被批注内容所在的章节数和页码数.poi提供的API都是英文的,而且针对word的操作并不是很完善,所以就自 ...

最新文章

  1. 豆瓣评分9.1榜首图书:这本经典编程教材,第2版全面升级!
  2. Java StringBuffer类
  3. 你不知道的vscode之空间控制
  4. 犹豫了几个月,我还是跳槽了....
  5. Mr.J-- jQuery学习笔记(二十一)--模拟微博页面
  6. (转)淘淘商城系列——引用dubbo服务
  7. 宏观经济学思维导图_10.19 [国际经济学][概率论与数理统计]笔记
  8. 论文简述 | Voxel Map for Visual SLAM
  9. 【转】ASP.NET Web应用程序写EventLog出错的解决方案
  10. Oracle数据库中文排序问题记录
  11. java word 复制_Java 复制Word文档
  12. source 还原数据库
  13. 中外十大武侠片排行榜
  14. 【定制项目】【M13】【数据监控 + 数据分析 + 可视化大屏】- 关键技术 python flask + pandas + echarts + excel
  15. 希尔伯特几何基础序言
  16. cass简码大全_考考你......列出 南方cass 简码指令50个。
  17. h5应用数据加密_在线视频加密用H5加密方案有哪些优点?
  18. 【记录贴】联想笔记本小新进入BIOS的方法
  19. 手机为什么手机里的计算机没在桌面,为什么桌面图标不见了
  20. 产品读书《怪诞行为学》

热门文章

  1. 快排算法的针对重复键值的优化
  2. winSCP 集成PuTTY附下载
  3. linux创建新的虚拟环境,并安装指定版本的包
  4. Android-Universal-Image-Loader三大组件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration详解
  5. 《算法心得:高效算法的奥秘(原书第2版)》
  6. 线性表的应用——多项式的计算
  7. MAC 苹果电脑开机密码忘了怎么办
  8. 万字起底澳本聪:一个正在崩溃的谎言
  9. 力扣(707.面试题02.07)补9.16
  10. Springboot学习1——通过JPA访问MySQL数据库