java提取word中的文字_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");
//获取文本保存为String
String text = doc.getText();
//将String写入Txt
writeStringToTxt(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);
//获取图片并添加到List
if (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);
}
}
}
图片提取结果:
java提取word中的文字_Java 提取Word中的文本和图片相关推荐
- EXCEL-VBA(WORD):将EXCEL中的文字替换到Word中的文字
Dim WordApp As Object Set WordApp = CreateObject("Word.Application") WordApp.Visible = Tru ...
- java 保留字符串中的数字_java从字符串中提取数字
随便给你一个含有数字的字符串,比如: String s="eert343dfg56756dtry66fggg89dfgf"; 那我们如何把其中的数字提取出来呢?大致有以下几种方法, ...
- java解析pdf 图片文字_Java 读取PDF中的文本和图片
本文将介绍通过Java程序来读取PDF文档中的文本和图片的方法.分别调用方法extractText()和extractImages()来读取. 使用工具:Free Spire.PDF for Java ...
- java设置标签艺术字体颜色_Java 在Word文档中添加艺术字
与普通文字相比,艺术字更加美观有趣也更具有辨识度,常见于一些设计精美的杂志或宣传海报中.我们在日常工作中编辑Word文档时,也可以通过添加艺术字体来凸显文章的重点,美化页面排版.这篇文章将介绍如何使用 ...
- java全文检索word中的内容_java获取word里面的文本
需求场景 开发的web办公系统如果需要处理大量的Word文档(比如有成千上万个文档),用户一定提出查找包含某些关键字的文档的需求,这就要求能够读取 word 中的文字内容,而忽略其中的文字样式.表格. ...
- java 取字符串中的数字_java截取字符串中的数字
随便给你一个含有数字的字符串,比如: String s="eert343dfg56756dtry66fggg89dfgf"; 那我们如何把其中的数字提取出来呢?大致有以下几种方法, ...
- java中正则表达式函数_java正则表达式PHP中的正则表达式函数介绍
java正则表达式PHP中的正则表达式函数介绍 正则表达式(Regular Expression) 正则表达式系统: 1.POSIX 2.Perl PHP中使用的regex是PCRE: NOTE:PC ...
- java里面比较重要的东西_Java面向对象程序设计中很重要的一些东西
面向对象具有多方面的吸引力.对于管理人员,它实现了更快和更廉价的开发与维护过程.对于分析与设计人员,能生成清晰.易于维护的设计方案.对于程序开发人员,对象的理解又是如此浅显.此外,面向对象的工具以及类 ...
- java去重复元素并打印_Java打印数组中重复元素
Java打印数组中重复元素 1 说明 在此程序中,我们需要打印数组中存在的重复元素.这可以通过两个循环来完成.第一个循环将选择一个元素,第二个循环将通过将所选元素与其他元素进行比较来遍历整个数组.如果 ...
最新文章
- 笔试题——max pooling滑动窗口实现(python 代码)
- 看完JDK并发包源码的这个性能问题,我惊了!
- 从零单排Java 8(2) —— Timestamp、String互转
- First Post
- c++,static 静态成员变量 / 静态成员函数
- Git/小白从零开始篇
- 【终极方法】解决IDEA搜索不到Lombok插件的问题(IDEA 不能识别 @Slf4j,@Getter ,@Setter注解)
- 如何学习微信公众平台的开发?
- java 分页 不 排序_java - 我应该如何将未分页但已排序的Pageable传递给Spring JPA存储库? - 堆栈内存溢出...
- 2020 年,云游戏将爆发?各大科技公司云游戏布局大曝光!
- laravel操作$request中值删除、增加、替换等方式的代码实例
- 神奇的applycall
- Java编程中忽略这些细节,Bug肯定找上你
- 网络编程学习记录-1
- LeetCode 567. 字符串的排列 (滑动窗口哈希表)
- 《PMP学习笔记》4.6 子过程:监控项目工作
- BiLSTM-CRF模型理解
- HTML emoji
- 一个很难的sql面试题
- java-php-python-ssm企业员工考勤系统的设计与实现计算机毕业设计