日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

java提取word中的文字_Java 提取Word中的文本和图片

發(fā)布時(shí)間:2024/9/19 java 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java提取word中的文字_Java 提取Word中的文本和图片 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文將介紹通過Java來提取或讀取Word文檔中文本和圖片的方法。這里提取文本和圖片包括同時(shí)提取文檔正文當(dāng)中以及頁眉、頁腳中的的文本和圖片。

使用工具:Free?Spire.Doc for Java (免費(fèi)版)

Jar文件導(dǎo)入方法(參考):

方法1:下載jar文件包。下載后解壓文件,并將lib文件夾下的Spire.Doc.jar文件導(dǎo)入到j(luò)ava程序。導(dǎo)入效果參考如下:

方法2:可通過maven導(dǎo)入。參考導(dǎo)入方法。

測(cè)試文檔如下:

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{

//加載測(cè)試文檔

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();

}

}

}

}

文本提取結(jié)果:

【示例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");

//創(chuàng)建Queue對(duì)象

Queue nodes = new LinkedList();

nodes.add(document);

//創(chuàng)建List對(duì)象

List images = new ArrayList();

//遍歷文檔中的子對(duì)象

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);

}

}

}

圖片提取結(jié)果:

與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的java提取word中的文字_Java 提取Word中的文本和图片的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。