开发者社区> 问答> 正文

关于POI读取Word中的文字和图片:报错

Hi,

    如何在读取docx后缀的word文档时读取图片文件?同时如何获取图片的大小和位置?


public static void main(String[] args) {
		
		String path =  TestMain.class.getClassLoader().getResource("template.docx").getPath();
		File file = new File(path);
		try {
			FileInputStream fis = new FileInputStream(file);
			XWPFDocument document = new XWPFDocument(fis);
			XWPFWordExtractor xwpfWordExtractor = new XWPFWordExtractor(document);
			String text = xwpfWordExtractor.getText();
			System.out.println(text);
			
			
			List<XWPFPictureData> picList = document.getAllPictures();
		 
			for (XWPFPictureData pic : picList) {
				System.out.println(pic.getPictureType() + file.separator + pic.suggestFileExtension()
						+file.separator+pic.getFileName());
				byte[] bytev = pic.getData();
				FileOutputStream fos = new FileOutputStream("d:\\"+pic.getFileName()); 
				fos.write(bytev);
			}
			
			
			fis.close();
		} catch (IOException e) {
			e.printStackTrace();
		}



使用上述方法可以获取到图片的文件名,但是发现获取的数量不正确,我的文档中一共有6个图片,其中是5张是重复的,目前读取word文档时显示的图片数为2张。

展开
收起
kun坤 2020-06-07 16:02:57 1112 0
1 条回答
写回答
取消 提交回答
  • POI没有用过,我之前操作Excel用POI,Word的话,我是用iText。######用POI读取word中的文字和图片还是太困难了,最好的办法还是用office提供的接口,PageOffice可以调用office接口,也对office的接口做了一套封装的接口,可以用来读取word中文字和图片的内容,把图片提取出来,楼主百度一下吧,我记得PageOffice开发包中就有这样的例子######

    POI读取word中的文字和图片 倒是实现了 

    但是图片样式不知道怎么保存?

    2020-06-07 16:03:02
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载