项目为maven项目,因为使用的是破解版的aspose.jar包,所以使用引用外部jar包方式直接将包打入项目中build即可

将word文件路径与文件名传入saveImage方法 调用即可生成图片

   public String saveImage(String filePath, String fileName){//word2pdf("C:/Users/Administrator/Desktop/1.doc","C:/Users/Administrator/Desktop/xxxx.pdf");//word转pdf//word转图片格式try {File file = new File(filePath+fileName);System.out.println(filePath+fileName);InputStream inStream = new FileInputStream(file);Document doc = new Document(filePath+fileName);int pageCount = doc.getPageCount();System.out.println(pageCount);List<BufferedImage> wordToImg = wordToImg(inStream,pageCount+2);//BufferedImage mergeImage = mergeImage(false, wordToImg);String imgPath = "D:/ruoyi/uploadPath/avatar/" +UUID.randomUUID()+".png";ImageIO.write(mergeImage, "jpg",new File( imgPath));try {inStream.close();} catch (IOException e1) {e1.printStackTrace();}if (file.isFile() && file.exists()) {file.delete();}return imgPath;} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}return null;}
  /*** @Description: word和txt文件转换图片*/private static List<BufferedImage> wordToImg(InputStream inputStream, int pageNum) throws Exception {if (!isWordLicense()) {return null;}try {long old = System.currentTimeMillis();Document doc = new Document(inputStream);ImageSaveOptions options = new ImageSaveOptions(SaveFormat.PNG);options.setPrettyFormat(true);options.setUseAntiAliasing(true);options.setUseHighQualityRendering(true);int pageCount = doc.getPageCount();if (pageCount > pageNum) {//生成前pageCount张pageCount = pageNum;}List<BufferedImage> imageList = new ArrayList<BufferedImage>();for (int i = 0; i < pageCount; i++) {OutputStream output = new ByteArrayOutputStream();options.setPageIndex(i);doc.save(output, options);ImageInputStream imageInputStream = javax.imageio.ImageIO.createImageInputStream(parse(output));imageList.add(javax.imageio.ImageIO.read(imageInputStream));}return imageList;} catch (Exception e) {e.printStackTrace();throw e;}}
 //outputStream转inputStreampublic static ByteArrayInputStream parse(OutputStream out) throws Exception {ByteArrayOutputStream baos = new ByteArrayOutputStream();baos = (ByteArrayOutputStream) out;ByteArrayInputStream swapStream = new ByteArrayInputStream(baos.toByteArray());return swapStream;}
 /*** 合并任数量的图片成一张图片** @param isHorizontal true代表水平合并,fasle代表垂直合并* @param imgs         待合并的图片数组* @return* @throws IOException*/public static BufferedImage mergeImage(boolean isHorizontal, List<BufferedImage> imgs) throws IOException {// 生成新图片BufferedImage destImage = null;// 计算新图片的长和高int allw = 0, allh = 0, allwMax = 0, allhMax = 0;// 获取总长、总宽、最长、最宽for (int i = 0; i < imgs.size(); i++) {BufferedImage img = imgs.get(i);allw += img.getWidth();if (imgs.size() != i + 1) {allh += img.getHeight() + 5;} else {allh += img.getHeight();}if (img.getWidth() > allwMax) {allwMax = img.getWidth();}if (img.getHeight() > allhMax) {allhMax = img.getHeight();}}// 创建新图片if (isHorizontal) {destImage = new BufferedImage(allw, allhMax, BufferedImage.TYPE_INT_RGB);} else {destImage = new BufferedImage(allwMax, allh, BufferedImage.TYPE_INT_RGB);}Graphics2D g2 = (Graphics2D) destImage.getGraphics();g2.setBackground(Color.LIGHT_GRAY);g2.clearRect(0, 0, allw, allh);g2.setPaint(Color.RED);// 合并所有子图片到新图片int wx = 0, wy = 0;for (int i = 0; i < imgs.size(); i++) {BufferedImage img = imgs.get(i);int w1 = img.getWidth();int h1 = img.getHeight();// 从图片中读取RGBint[] ImageArrayOne = new int[w1 * h1];ImageArrayOne = img.getRGB(0, 0, w1, h1, ImageArrayOne, 0, w1); // 逐行扫描图像中各个像素的RGB到数组中if (isHorizontal) { // 水平方向合并destImage.setRGB(wx, 0, w1, h1, ImageArrayOne, 0, w1); // 设置上半部分或左半部分的RGB} else { // 垂直方向合并destImage.setRGB(0, wy, w1, h1, ImageArrayOne, 0, w1); // 设置上半部分或左半部分的RGB}wx += w1;wy += h1 + 5;}return destImage;}

也可以将word直接转换为pdf输出,将pdf转换为图片。本项目中暂不采取这种措施,因为来回发生效率问题

public static void word2pdf(String docPath,String savePath){try {String s = "<License><Data><Products><Product>Aspose.Total for Java</Product><Product>Aspose.Words for Java</Product></Products><EditionType>Enterprise</EditionType><SubscriptionExpiry>20991231</SubscriptionExpiry><LicenseExpiry>20991231</LicenseExpiry><SerialNumber>8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7</SerialNumber></Data><Signature>sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=</Signature></License>";ByteArrayInputStream is = new ByteArrayInputStream(s.getBytes());License license = new License();license.setLicense(is);com.aspose.words.Document document = new com.aspose.words.Document(docPath);document.save(new FileOutputStream(new File(savePath)),SaveFormat.PDF);} catch (Exception e) {e.printStackTrace();}}

如需jar包可前往云盘下载

[网盘链接](https://pan.baidu.com/s/1GmIo9EzwpB2kFIQELZtLGw)提取码:5fba

如果对您有帮助请点个关注

使用aspose进行将word转换为图片格式相关推荐

  1. 文字PDF转换为图片格式的PDF

    在我们的日常工作和生活中,有时候我们需要对PDF文件进行一些特殊处理.有时候,我们希望将PDF的每一页提取出来作为图片,方便在其他场景中使用:而有时候,我们则需要将PDF内的内容转换为图片格式,以防止 ...

  2. 如何将pdf快速转换为图片格式

    我们都知道PDF文件是一个比较特殊的文件,一直都是不容易进行编辑,对于PDF文件我们想要转换为图片格式我们怎么操作呢?小编今天就简单和你们分享一下吧! 下面就是迅捷pdf在线转换的操作技巧: 1.打开 ...

  3. word里图片格式为嵌入型时,图片显示不全问题

    word里图片格式为嵌入型时,图片显示不全问题 问题描述:在使用word插入图片时,当图片格式为嵌入型时,图片显示不全.如图: 解决方法: 双击选中图片,然后点击开始菜单的段落右下角 然后,将行距改为 ...

  4. 教你用8行代码将word转换为pdf格式 及 6行代码实现批量将word转换为pdf格式--python实用小技能get起来

    目录 将word转换为pdf格式 安装pywin32 上代码 运行结果 批量实现word转pdf 安装docx2pdf 上代码 运行结果 将word转换为pdf格式 安装pywin32 代码(Anac ...

  5. BASE64转换为图片格式,并上传图片

    基本的把base64 转成图片 # 将BASE64转换为图片格式## 代码```javapublic static final String JPG = ".jpg";public ...

  6. 如何将WPS格式转换为图片格式 WPS转换图片步骤

    我们通常在办公中使用最多的就是WPS和office两款软件,就比如说在在WPS软件中办公,然后保存的文件就是以WPS为格式的文件.不过在现如今按照人们浏览的习惯来看,大多数人都喜欢图片的格式,浏览比较 ...

  7. 将word 转换为图片(word to pdf ->pdf to image)

    介绍: 将word文档转换为图片,先将word 文档转换为pdf 文件,再将pdf 转换为图片. 一:将word 文档转换为pdf 文件 要先安装win32com,使用以下命令行. pip3 inst ...

  8. 将 Word 转换为 Markdown格式 【详细教程】

    文章目录 前言 ①下载安装Writage ②Word ➡ Markdown ③下载安装Pandoc ④再次Word ➡ Markdown 总结 提示:以下是本篇文章正文内容,学习内容将会持续更新 前言 ...

  9. 教你将多段视频画面中的某一帧提取转换为图片格式

    最近有很多朋友在问,如何提取视频封面,像视频画面中的某一帧该怎么提取出来保存到图片格式呢?今天小编给大家安利一个新的技巧,下面一起来学习一下. 需要哪些工具? 一台Win系统的电脑 多段视频素材 怎么 ...

  10. 如何将WPS里文件的内容转换为图片格式

    在办公中我们经常要使用到WPS软件,以至于在这里面编辑的文档进行保存的文件都是以WPS为类型的文件.不过作为现在的人来说,我们更喜欢更方便的浏览方式,比如图片格式,那我们就需要将WPS文件转换为图片的 ...

最新文章

  1. CVPR2020论文介绍: 3D 目标检测高效算法
  2. html省市联动插件,jquery实现的交互体验更友好省市区三级联动插件
  3. Linux美化——终端提示符
  4. 如何进行聚类可视化_R语言rainette包对数据聚类可视化
  5. TortoiseGit 修改密码
  6. 软件测试黑马程序员课后答案_软件测试教程课后答案
  7. UE4 Slate Architecture
  8. 奈飞文化手册_奈飞文化手册,如何塑造企业文化
  9. flutter: 建树流程
  10. c++矩阵运算库Eigen简介
  11. mysql数据库中如何创建角色_MySQL数据库如何创建用户呢?
  12. java -- 对Map按键排序、按值排序
  13. Adafruit GFX字体制作
  14. 基于ssh的后台新闻管理系统
  15. 我的世界服务器退出信息,我的世界模仿他人进入/退出服务器
  16. ElementUI el-table合并单元格
  17. python具体学什么-python主要用于什么开发
  18. 如何写cover letter 翻译自How to write a cover letter
  19. python设置背景图片大全_Python实例讲解 - tkinter canvas (设置背景图片及文字)
  20. Linux(安装apache,设置端口,基于端口的配置方法)

热门文章

  1. win10各个版本激活码到期了
  2. C++字符串拼接性能测试
  3. JAVA基于UDP的一个聊天程序
  4. codeforce 595A
  5. 不确定性管理,更需要领导力
  6. linux下音乐转换软件下载,Ubuntu 下把Ape格式音乐转为Mp3格式
  7. 抖音视频怎么去掉抖音的水印?
  8. pspice仿真:参数扫描
  9. 计算机键盘怎么换键,电脑键盘怎么更改按键_电脑键盘怎么改键位
  10. 漏洞挖掘 符号执行_漏洞挖掘综述