您好,欢迎访问一九零五行业门户网

Java如何读取Word批注中的文本和图片

本文将介绍读取word批注的方法,包括读取word批注中的文本及图片。下面将通过java代码来演示如何读取批注。
工具使用: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。
(推荐学习:java视频教程)
测试文档如下:批注中包含文本和图片
【示例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);    }}
批注文本读取结果:
【示例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);        }    }}
批注图片读取结果:
本文来自,java教程栏目,欢迎学习!
以上就是java如何读取word批注中的文本和图片的详细内容。
其它类似信息

推荐信息