Java 提取Word中的文本和图片
本文将介绍通过Java来提取或读取Word文档中文本和图片的方法。这里提取文本和图片包括同时提取文档正文当中以及页眉、页脚中的的文本和图片。
使用工具:Free Spire.Doc for Java (免费版)
Jar文件导入方法(参考):
方法1:下载jar文件包。下载后解压文件,并将lib文件夹下的Spire.Doc.jar文件导入到java程序。导入效果参考如下:
方法2:可通过maven导入。
测试文档如下:
Java代码示例(供参考)
【示例1】提取Word中的文本
import com.spire.doc.*; import java.io.FileWriter; import java.io.IOException; public class ExtractText { public static void main(String[] args) throws IOException{ //加载测试文档Document doc = new Document();doc.loadFromFile("test.docx"); //获取文本保存为StringString text = doc.getText(); //将String写入TxtwriteStringToTxt(text,"提取文本.txt");} public static void writeStringToTxt(String content, String txtFileName) throws IOException {FileWriter fWriter= new FileWriter(txtFileName,true); try {fWriter.write(content);}catch(IOException ex){ex.printStackTrace();}finally{ try{fWriter.flush();fWriter.close();} catch (IOException ex) {ex.printStackTrace();}}}
}
文本提取结果:
【示例2】提取Word中的图片
import com.spire.doc.Document; import com.spire.doc.documents.DocumentObjectType; import com.spire.doc.fields.DocPicture; import com.spire.doc.interfaces.ICompositeObject; import com.spire.doc.interfaces.IDocumentObject; import javax.imageio.ImageIO; import java.awt.image.RenderedImage; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Queue; public class ExtractImg { public static void main(String[] args) throws IOException { //加载Word文档Document document = new Document();document.loadFromFile("test.docx"); //创建Queue对象Queue nodes = new LinkedList();nodes.add(document); //创建List对象List images = new ArrayList(); //遍历文档中的子对象while (nodes.size() > 0) {ICompositeObject node = (ICompositeObject) nodes.poll(); for (int i = 0; i < node.getChildObjects().getCount(); i++) {IDocumentObject child = node.getChildObjects().get(i); if (child instanceof ICompositeObject) {nodes.add((ICompositeObject) child); //获取图片并添加到Listif (child.getDocumentObjectType() == DocumentObjectType.Picture) {DocPicture picture = (DocPicture) child;images.add(picture.getImage());}}}} //将图片保存为PNG格式文件for (int i = 0; i < images.size(); i++) {File file = new File(String.format("图片-%d.png", i));ImageIO.write((RenderedImage) images.get(i), "PNG", file);}}
}
图片提取结果:
在此我向大家推荐一个架构学习交流圈。交流学习微信:539413949(里面有大量的面试题及答案)里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多
Java 提取Word中的文本和图片相关推荐
- java提取word中的文字_Java 提取Word中的文本和图片
本文将介绍通过Java来提取或读取Word文档中文本和图片的方法.这里提取文本和图片包括同时提取文档正文当中以及页眉.页脚中的的文本和图片. 使用工具:Free Spire.Doc for Java ...
- openxml html to word,C# Net 使用 openxml 提取word中的文本和图片并转为Html
C# Net Core openxml 提取 提出 取 word 文本 图片 Html Text Drawing C# Net Core openxml 提取 提出 取 word 文本 图片 ...
- java提取word中的图片_Java怎么获取Word批注的文字和图片
Java怎么获取Word批注的文字和图片 发布时间:2020-06-23 11:07:08 来源:亿速云 阅读:119 作者:Leah 这篇文章将为大家详细讲解有关Java获取Word批注的文字和图片 ...
- Java 读取PDF中的文本和图片
本文将介绍通过Java程序来读取PDF文档中的文本和图片的方法.分别调用方法extractText()和extractImages()来读取. 使用工具:Free Spire.PDF for Java ...
- Java Word中的文本、图片替换功能
Word中的替换功能以查找指定文本然后替换为新的文本,可单个替换或全部替换.以下将要介绍的内容,除常见的以文本替换文本外,还将介绍使用不同对象进行替换的方法,具体可包括: 1. 指定字符串内容替换文本 ...
- java提取word中的图片
一.项目中需要用到word的导入,word 里面的内容由图片,文本,公式等,步骤为:将文档另存为xml格式 1.提取图片,如下是word xml 中的图片标签,具体分析下内容,首先需要获取 w:dra ...
- java word替换图片_Java Word中的文本、图片替换功能
Word中的替换功能以查找指定文本然后替换为新的文本,可单个替换或全部替换.以下将要介绍的内容,除常见的以文本替换文本外,还将介绍使用不同对象进行替换的方法,具体可包括: 1. 指定字符串内容替换文本 ...
- java提取word中的文字,java获取word里面的文本
需求场景 开发的web办公系统如果需要处理大量的Word文档(比如有成千上万个文档),用户一定提出查找包含某些关键字的文档的需求,这就要求能够读取 word 中的文字内容,而忽略其中的文字样式.表格. ...
- 使用docx4j根据书签自动替换word中的文本和图片,图片自适应大小
此功能中的文本替换实现不难,但是图片替换和自适用费了很大劲,主要是要知道word文档的原理,实际是一个zip 的压缩包,里面包括图片信息和xml文件等等,主要就是看xml中的对应关系,大家可以试着把w ...
最新文章
- myeclipse 6.0 弹出 Multiple Errors have Occurred 错误
- 多线程编程实战(一)
- mysql删除过期文件_关于保留最新文件或清除过期文件的简单总结
- 2012腾讯春季实习生面试经历(一)
- int *ptr=(int *)(a+1)问题的探讨
- Cf Round #403 B. The Meeting Place Cannot Be Changed(二分答案)
- Origin Pro轻松绘制小提琴图
- 用Setup Factory打包Visual C++ 2008开发的程序心得总结
- stl中map函数_map :: max_size()函数,以及C ++ STL中的Example
- jquery 给类名元素添加行内样式_学Jquery的第一天
- Cocos2d BMFont解析
- 一步一步学VBScript(4)之WSH对象三
- 9. Document getElementsByName() 方法
- 个人博客系统整体介绍
- Flutter第3天--基础控件(上)
- Git 使用过程中遇到的问题以及解决办法
- 将爬取的实习僧网站数据传入HDFS
- canvas - 基础知识 - 绘制剪纸图形
- 前台请求后台接口数据后日期少一天Bug解决
- 【大数据开发】SparkStreaming——DStream输入源、原语、SparkStream与Kafka和Redis三者的交互
热门文章
- 梅科尔工作室-深度学习第三讲
- 王者荣耀服务器几点能维护好,王者荣耀7.4更新维护到几点 更新了怎么进不去游戏...
- Android面试送分题:这份354页笔记的Android进阶知识+大厂高频面试题,已拿offer
- IT项目管理那些事儿
- dockers达梦镜像启动执行sql脚本
- linux以root登陆命令,su命令和sudo命令,以及限制root用户登录
- avi和音频合成 ffmpeg_音视频处理工具FFmpeg与Java结合的简单使用
- OpenGL学习脚印:缓冲对象相关函数的使用(buffer object function)
- Mysql可重复读业务场景_事务可重复读的意义在哪?
- 科技感ui界面 html,技术实现丨如何增强UI页面的科技感