springboot2中怎么实现在线文档预览
发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,springboot2中怎么实现在线文档预览,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。第一步,需要引入相应的jar: org.jodconverter jodconverter-core 4.2.2 org.jodconverter jodconverter-spring-boot-starter 4.2.2 org.jodconverter jodconverter-local 4.2.2
第二步,在配置文件中加入关键配置:
第三步:核心类
package com.yunji.kwxt.document;import com.yunji.kwxt.common.enums.ResultEnum;import com.yunji.kwxt.common.model.ResultJson;import org.apache.commons.io.IOUtils;import org.jodconverter.DocumentConverter;import org.jodconverter.office.OfficeException;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.ResponseBody;import javax.annotation.Resource;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServletResponse;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;/** * @author :LX * 创建时间: 2019/11/4. 17:42 * 地点:广州 * 目的: 在线文档预览 * * 总的来说,这部分的代码是可以使用的,但是效果并没有预期的好,第一,中文乱码问题没解决,第二,格式并没有预期的好。 * 业务逻辑这一块,不推荐这么弄,建议从源头控制上传文件,然后来预览操作。 * * 如果后续需要使用,1 放开maven中的 jodconverter 包 * 2 将 application-config.properties 文件相应 jodconverter 的配置放开 * 3 将该类下面的 view 方法放开,调用 view 即可。 * * 备注说明: */@Controller@RequestMapping("/doc")public class DocumentController { private static Logger log = LoggerFactory.getLogger(DocumentController.class); @Resource private DocumentConverter documentConverter; /** * 在线预览 * @param response * @return */ @RequestMapping(value = "/view", method = RequestMethod.GET) @ResponseBody public ResultJson view(HttpServletResponse response){ //需要转换的文件 File file = new File("E:\\下载\\kd.xlsx"); //文件转换后的地址 File toFile = new File("E:\\temp"); if (!toFile.exists()){ toFile.mkdirs(); } ServletOutputStream outputStream = null; InputStream in = null; //关键方法,转换为PDF try { documentConverter.convert(file).to(new File("E:/temp/1.pdf")).execute(); outputStream = response.getOutputStream(); in = new FileInputStream(new File("E:/temp/1.pdf")); //将文件转换复制到流 IOUtils.copy(in, outputStream); } catch (OfficeException e) { e.printStackTrace(); log.error("转换文件失败"); } catch (IOException e) { e.printStackTrace(); log.error("获取流失败"); } finally { if (in != null){ try { in.close(); } catch (IOException e) { e.printStackTrace(); } } if (outputStream != null){ try { outputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } return new ResultJson(null, ResultEnum.SUCCESS.getStatus(), "成功", null); }}
看完上述内容,你们掌握springboot2中怎么实现在线文档预览的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
文件
在线
方法
文档
问题
配置
关键
内容
更多
成功
束手无策
为此
业务
乱码
代码
原因
地址
地点
备注
对此
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
学校网络技术处职责
软件开发和游戏区别
网络安全主持资料
创建域名服务器
华为自己研发的数据库
测网络安全距离
mysql登录不上数据库怎么办
郑州网络安全直播
可以双修 自己在数据库
数据库 导入 丢失
数据库的恢复技术主要包括
保山在线java软件开发
小霸王服务器dnf
广州服务器主板维修价
无刷电机驱动软件开发
网络安全也需要保险吗
网络安全值守工作
文件夹里的数据库表在哪
百度服务器价格
复旦大学关于网络安全的专业
北京思方远网络技术公司
宜家画框软件开发
数据库技术有关题目
家乡共享网络安全宣传
小霸王服务器dnf
文专学计算机网络技术
易桥软件开发
基岩版服务器怎么换挡
新华互联网科技总校在哪儿
软件开发和检测做些啥