项目有使用到,就做个记录,可直接使用以下工具类
前提pom文件需要引入相关的jar包
<!-- spire doc for java -->
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.doc</artifactId>
<version>3.2.3</version>
</dependency>
工具类代码如下:
/**
* word转换图片
* @param filepath 上传的文件路径
* @param imgName 生成的文件名
* @return
*/
public static void changeDocToImg(String filepath, String imgName) {
try {
Document doc = new Document();
File file = new File(filepath);
InputStream is = new FileInputStream(file);
//加载文件 第二个参数 FileFormat.Auto 会自动去分别上传文件的 docx、doc类型
doc.loadFromStream(is, FileFormat.Auto);
//上传文档页数,也是最后要生成的图片数
Integer pageCount = doc.getPageCount();
// 参数第一个和第三个都写死 第二个参数就是生成图片数
BufferedImage[] image = doc.saveToImages(0, pageCount, ImageType.Bitmap);
// 循环,输出图片保存到本地,这里路径直接写死,可自行更改
for (int i = 0; i < image.length; i++) {
File f = new File("E:/img/" + imgName + "_" + (i + 1) + ".png");
ImageIO.write(image[i], "PNG", f);
}
} catch (IOException e) {
e.printStackTrace();
}
}
测试
public static void main(String[] args) {
//需要转换的文件
String filepath = "E:\\image\\test\\test.docx";
//直接调用上面的方法
changeDocToImg(filepath,"test-image");
}