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

发布于 2021-11-28 13:12:34 字数 1156 浏览 924 评论 3

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张。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

三月梨花 2021-12-03 22:33:51

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

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

眉黛浅 2021-12-03 18:52:03

用POI读取word中的文字和图片还是太困难了,最好的办法还是用office提供的接口,PageOffice可以调用office接口,也对office的接口做了一套封装的接口,可以用来读取word中文字和图片的内容,把图片提取出来,楼主百度一下吧,我记得PageOffice开发包中就有这样的例子

可是我不能没有你 2021-12-03 15:43:35

POI没有用过,我之前操作Excel用POI,Word的话,我是用iText。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文