pom文件添加

        <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.12</version></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-scratchpad</artifactId><version>3.12</version></dependency>

ppt转图片工具类

public class PPTtoImageUtils {private static final Logger logger = LoggerFactory.getLogger(PPTtoImageUtils.class);//支持pptxpublic static List<String> pptxToImage(MultipartFile file, String bucket) {String originalFileName = file.getOriginalFilename();String rootPath = bucket + "/" + System.currentTimeMillis();List<String> urlList = Lists.newArrayList();try {InputStream is = file.getInputStream();XMLSlideShow ppt = new XMLSlideShow(is);is.close();Dimension pgsize = ppt.getPageSize();logger.info("pptx to image file [name:{}] [width:{}] [height:{}]", originalFileName, pgsize.width, pgsize.height);for (int i = 0; i < ppt.getSlides().size(); i++) {//防止中文乱码for (XSLFShape shape : ppt.getSlides().get(i).getShapes()) {if (shape instanceof XSLFTextShape) {XSLFTextShape tsh = (XSLFTextShape) shape;for (XSLFTextParagraph p : tsh) {for (XSLFTextRun r : p) {r.setFontFamily("宋体");}}}}BufferedImage img = new BufferedImage(pgsize.width, pgsize.height, BufferedImage.TYPE_INT_RGB);Graphics2D graphics = img.createGraphics();// clear the drawing areagraphics.setPaint(Color.white);graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height));// renderppt.getSlides().get(i).draw(graphics);// save the outputString filename =  (i + 1) + ".png";// 创建输出流ByteArrayOutputStream bos = new ByteArrayOutputStream();// 将图像输出到输出流中。ImageIO.write(img, "png", bos);MultipartFile multipartFile = new MockMultipartFile(filename, filename, "image/png", bos.toByteArray());//上传到ossString url = UploadUtils.simpleUpload(multipartFile, rootPath);urlList.add(url);}} catch (Exception e) {logger.error("pptx to image error [name:{}][e:{}] ", originalFileName,e);throw new BusinessException(ErrorCode.PPT_TO_IMAGE_ERROR);}logger.info("pptx to image success [name:{}] ", originalFileName);return urlList;}//支持pptpublic static List<String> pptToImage(MultipartFile file, String bucket) {String originalFileName = file.getOriginalFilename();String rootPath = bucket + "/" + System.currentTimeMillis();List<String> urlList = Lists.newArrayList();try {InputStream is = file.getInputStream();HSLFSlideShow ppt = new HSLFSlideShow(new HSLFSlideShowImpl(is));Dimension pgsize = ppt.getPageSize();for (int i = 0; i < ppt.getSlides().size(); i++) {//防止中文乱码for (HSLFShape shape : ppt.getSlides().get(i).getShapes()) {if (shape instanceof HSLFTextShape) {HSLFTextShape tsh = (HSLFTextShape) shape;for (HSLFTextParagraph p : tsh) {for (HSLFTextRun r : p) {r.setFontFamily("宋体");}}}}BufferedImage img = new BufferedImage(pgsize.width, pgsize.height, BufferedImage.TYPE_INT_RGB);Graphics2D graphics = img.createGraphics();// clear the drawing areagraphics.setPaint(Color.white);graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height));// renderppt.getSlides().get(i).draw(graphics);String filename =  (i + 1) + ".png";// 创建输出流ByteArrayOutputStream bos = new ByteArrayOutputStream();// 将图像输出到输出流中。ImageIO.write(img, "png", bos);MultipartFile multipartFile = new MockMultipartFile(filename, filename, "image/png", bos.toByteArray());//上传到ossString url = UploadUtils.simpleUpload(multipartFile, rootPath);urlList.add(url);}logger.info("ppt to image success [name:{}] ", originalFileName);return urlList;} catch (Exception e) {logger.error("ppt to image error [name:{}] [e:{}]", originalFileName,e);throw new BusinessException(ErrorCode.PPT_TO_IMAGE_ERROR);}}

java poi ppt转图片相关推荐

  1. Java Poi word 插入图片并添加边框

    Java Poi word 插入图片并添加边框 //得到Picture的Base64编码 Base64Picture p1; //打开Word文件 Resource resource = new Cl ...

  2. java poi 解析为图片

    apache poi 解析ppt为图片,有两个问题:poi将ppt当作二进制流处理,有些格式,ppt自带艺术字等读取不出,IO读写也很频繁 maven 配置 <dependency>    ...

  3. Java 转PPT为图片、PDF、SVG、XPS、ODP以及PPT和PPTX互转

    同一文档,在不同的文档查看器或者编译环境中,需要对该文档进行相应的格式转换.下面的内容中,将介绍通过Java编程来实现PPT文档格式转换的方法. 使用工具: Spire.Presentation fo ...

  4. java poi 读取 word图片_Java Poi 根据文字内容 插入 word 图片-Go语言中文社区

    需求描述 如下图,我需要在word里根据一个图片的名字,将名字替换成该图片(公章) 思路: 用POI遍历每一个表格里的每一行的每一个单元格,如果遇到我自己定义的"&章",则 ...

  5. java poi 读取excel 图片_Poi读取excel插图的方法和操作步骤

    我们在使用Excel制作表格的时候,有时会使用"Poi读取excel插图",但是很多初学者都不懂也不会制作.下面,我就给大家讲一下"Poi读取excel插图"的 ...

  6. POI PPT 给图片设置超链接

    public static void setHyperLink(XMLSlideShow slideShow){XSLFSlide xslfSlide= slideShow.getSlides().g ...

  7. java poi导出word图片_poi 导出word,导出图片解决方法

    /** * 写入图片 * @param document * @param picName * @param width * @param height * @param alignment */ p ...

  8. java POI Excel插入图片

    先看下效果: 效果: 在三行两列分别插入文字和图片:第一列纯文本,第二列是对应的图片. 下面上代码: /*** This Method loads the image from application ...

  9. java poi 读取word图片,Java POI导入word, 带图片

    1.导入文件示例,word中简历表格模板 2.代码示例分两部分,一部分读取图片/** * 导入word(基本信息,word格式) * @param staffId * @param baseInfoF ...

  10. Java/poi/ppt操作 — 复制ppt单页放置在指定位置

    1. 需求 使用模板页复制一份一模一样的页面放在指定位置 2.代码 /*** 复制ppt单页* @param template 模板页* @param ppt ppt* @param index 复制 ...

最新文章

  1. 如何基于Weex实现创新交互体验?手淘开源技术BindingX案例解析
  2. js获取一周从开始到结束日期范围
  3. apache camel_您的Apache Camel应用程序现在包括现成的文档
  4. 四边形可以分为几类_大件物流有哪些公司?大件物流公司的业务可以分为哪几类...
  5. Visual C# 2005——超好用的DropDown与DropDownClosed事件
  6. python函数的面向对象——面向对象设计
  7. Spring源码之ApplicationContext(九)初始化剩余的单例
  8. matlab划分训练集验证和测试集代码_训练集、验证集和测试集
  9. windows进行udp端口转发
  10. 早早省初始化失败 解决办法~
  11. 笔记本电脑里计算机未响应,win10系统笔记本word程序总是未响应的详细方案
  12. 计算机广告设计毕业论文,广告设计毕业论文题目
  13. 电子商务网站建设系统战略规划报告
  14. java 搭建ota服务器_通过文件服务器实现OTA升级的方法技术
  15. 运维的工作内容是什么?有哪几种分类?
  16. C语言-B树(B-树)的完整实现
  17. 层次分析法——确定指标权重、解决评价类问题
  18. HDU 3313 Key Vertex 胡搞(网络流最小割拆点什么的人家才不会呢)
  19. 04_nand基本操作
  20. 产品搞趣产品经理怎么样

热门文章

  1. inpur标签的各种type
  2. kettle 读xml无法获得属性信息,输出表修改不能自动更新修改办法
  3. 苹果logo_苹果LOGO起拍价2万美元?
  4. pytorch 计算模型的GFlops和total params的方法
  5. 谷歌浏览器打不开网页
  6. SAP系统 会计科目主数据详解
  7. 代码审查工具 rietveld的安装与使用(二)
  8. PHP控制连接打印机
  9. android 气泡尖角边框,如何使用CSS实现一个带尖角的气泡框?
  10. 计算机为啥启用不了网络发现,Windows7系统无法启用网络发现怎么解决?