多语言展示
当前在线:497今日阅读:2今日分享:38

Java 读取Word批注中的图片

以下经验内容将分享通过java程序来读取word批注中的图片。
工具/原料
1

Free Spire.Doc for Java (免费版)

2

IntelliJ IDEA

jar文件获取及导入:
1

方法1:通过e-iceblue官网下载。下载后,解压文件,并将lib文件夹下的Spire.Doc.jar文件导入到java程序。

2

方法2:可通过maven仓库安装导入,配置路径及导入方法可参考链接里的步骤:https://www.e-iceblue.cn/licensing/install-spirepdf-for-java-from-maven-repository.html 。

3

测试文档中的批注内容如下,批注中包含两张图片:

Java 代码示例(供参考)
1

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

2

图片读取结果:

推荐信息