Java word文档中的图片抽离方法
Java word文档中的图片抽离方法
package com.example.core.mydemo.aspose; import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFPictureData; import java.awt.image.BufferedImage; import java.io.*; import java.util.List; import javax.imageio.ImageIO; /** * 将word中的图片转换为图片(可以理解为将word文档中的图片抽离出来),而不是将word文档转换为图片 */ public class WordToImageConverter { public static void main(String[] args) { try { String wordFilePath = "D:\\pdf\\testword.docx"; String outputImagePath = "D:\\pdf\\image33.png"; XWPFDocument document = new XWPFDocument(new FileInputStream(wordFilePath)); List<XWPFPictureData> pictures = document.getAllPictures(); System.out.println("pictures size=" + pictures.size()); for (int i = 0; i < pictures.size(); i++) { XWPFPictureData picture = pictures.get(i); byte[] pictureData = picture.getData(); BufferedImage image = ImageIO.read(new ByteArrayInputStream(pictureData)); String imageFileName = outputImagePath + "_" + (i + 1) + ".png"; if(image != null) { ImageIO.write(image, "png", new FileOutputStream(new File(imageFileName))); } } document.close(); System.out.println("image ok 2"); } catch (IOException e) { e.printStackTrace(); } } }