java读取word中的图片格式_Java如何读取Word批注中的文本和图片

本文提供Java代码示例,演示如何使用Free Spire.Doc for Java免费版读取Word文档中的批注,包括批注文本和图片。通过遍历批注和段落中的对象,提取文本和图片,保存到指定格式。
摘要由CSDN通过智能技术生成

本文将介绍读取Word批注的方法,包括读取Word批注中的文本及图片。下面将通过Java代码来演示如何读取批注。

ad6a42e73755dd7bc696f38758e7d838.png

工具使用:Word类库(Free Spire.Doc for Java 免费版)

Jar文件获取:可通过官网下载,下载后解压文件,并将lib文件夹下的Spire.Doc.jar文件导入java程序;也可以通过Maven仓库安装导入。,具体路径配置及导入方法可以参考教程https://www.e-iceblue.cn/licensing/install-spirepdf-for-java-from-maven-repository.html。

测试文档如下:批注中包含文本和图片

4167f790062f48ab36d0081b0e8aecf1.png

【示例1】读取批注中的文本import com.spire.doc.*;

import com.spire.doc.documents.Paragraph;

import com.spire.doc.fields.Comment;

import com.spire.doc.fields.TextRange;

public class ReadComment {

public static void main(String[] args) {

//加载测试文档

Document doc = new Document();

doc.loadFromFile("sample.docx");

//实例化String类型变量

String text = "";

//遍历所有批注

for(int i = 0;i< doc.getComments().getCount();i++){

Comment comment = doc.getComments().get(i);

//遍历所有批注中的段落

for(int j= 0;j < comment.getBody().getParagraphs().getCount();j++) {

Paragraph paragraph = comment.getBody().getParagraphs().get(j);

//遍历段落中的对象

for (Object object : paragraph.getChildObjects()) {

//读取文本

if (object instanceof TextRange) {

TextRange textRange = (TextRange) object;

text = text + textRange.getText();

}

}

}

}

//输入文本内容

System.out.println(text);

}

}

批注文本读取结果:

9cb397c172221df81af1bcee266aa5bb.png

【示例2】读取批注中的图片import com.spire.doc.*;

import com.spire.doc.documents.Paragraph;

import com.spire.doc.fields.Comment;

import com.spire.doc.fields.DocPicture;

import javax.imageio.ImageIO;

import java.awt.image.RenderedImage;

import java.io.File;

import java.io.IOException;

import java.util.ArrayList;

public class ExtractImgsInComment {

public static void main(String[] args) throws IOException{

//加载测试文档

Document doc = new Document();

doc.loadFromFile("sample.docx");

//创建ArrayList数组对象

ArrayList images = new ArrayList();

//遍历所有批注

for(int i = 0;i< doc.getComments().getCount();i++){

Comment comment = doc.getComments().get(i);

//遍历所有批注中的段落

for(int j= 0;j < comment.getBody().getParagraphs().getCount();j++) {

Paragraph paragraph = comment.getBody().getParagraphs().get(j);

//遍历段落中的对象

for (Object object : paragraph.getChildObjects()) {

//获取图片对象

if(object instanceof DocPicture){

DocPicture picture = (DocPicture) object;

images.add(picture.getImage());

}

}

}

}

//提取图片,并指定图片格式

for (int z = 0; z< images.size(); z++) {

File file = new File(String.format("图片-%d.png", z));

ImageIO.write((RenderedImage) images.get(z), "PNG", file);

}

}

}

批注图片读取结果:

c90d41d1a2ddf9439606f350b99a7cba.png

本文来自php中文网,java教程栏目,欢迎学习!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值