springboot2中怎么实现在线文档预览
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中怎么实现在线文档预览的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
文章标题:springboot2中怎么实现在线文档预览
标题URL:http://www.jxjierui.cn/article/psjoos.html


咨询
建站咨询
