一、主要思路

主要思路是文档先通过后台转成PDF临时文件,预览时前端用jquery.media.js打开显示,小文件打开速度秒开,大文件可能会耗时久一点。

二、libreoffices安装

下载地址,傻瓜式安装,记住安装位置就行

https://zh-cn.libreoffice.org/download/download/

三、SpringBoot+libreoffices所需jar包

这里的sringboot用的是2.1.3.RELEASE

<!-- libreoffic转换office为pdf用于在线显示 -->
         <dependency>
          <groupId>org.jodconverter</groupId>
          <artifactId>jodconverter-core</artifactId>
          <version>4.2.0</version>
        </dependency>
        <dependency>
          <groupId>org.jodconverter</groupId>
          <artifactId>jodconverter-local</artifactId>
          <version>4.2.0</version>
        </dependency>
        <dependency>
          <groupId>org.jodconverter</groupId>
          <artifactId>jodconverter-spring-boot-starter</artifactId>
          <version>4.2.0</version>
        </dependency>
          <dependency>
          <groupId>org.libreoffice</groupId>
          <artifactId>ridl</artifactId>
          <version>5.4.2</version>
        </dependency>

<!----------------------------------------------------------------->

四、application.yml配置

#LibreOffice安装路径

jodconverter.local.office-home: G:/LibreOffice6.2.7
# 开启多个LibreOffice进程,每个端口对应一个进程
jodconverter.local.portNumbers: 8100,8101,8102
# LibreOffice进程重启前的最大进程数
jodconverter.local.maxTasksPerProcess: 100

五、后台转化pdf代码

@Autowired 
    private DocumentConverter documentConverter;

@PostMapping("/front/officeToFpdf")
    @ResponseBody
    public int officeToFpdf(String fileName) {
     
        File word = new File("附件路径");  
        String pdfpath = "附件名称"+ ".pdf";
        File pdf = new File(pdfpath); // 文件转换
        try {
            documentConverter.convert(word).to(pdf).execute();
            return 200;
        } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace();
            return 500;
        }
    }

六、前台显示

<a class="media" href="转化后的pdf路径"></a>

<!--引入jquery.media.js-->

<script src="../js/jquery.media.js"></script>

<script>
$(function() {  
    $('a.media').media({width:'100%', height:800});  
});
</script>

jquery.media.具体参数地址http://malsup.com/jquery/media/#api

SpringBoot+libreoffice+jquery.media.js实现office文档在线预览相关推荐

  1. office文档在线预览工具平台选型

    ​​​​​​在线预览原理 文档在线预览说明: 1.业务系统生成文档浏览地址,用户通过终端进行访 2.用户终端访问文档预览资源地址,请求文档解析器,解析器分为私有云和公有云部署,作用是将文档进行解析成x ...

  2. office web viewer实现office文档在线预览

    office web viewer实现office文档在线预览 office web viewer官网介绍 若要自行制作 URL,您可使用以下链接,其中 <文档位置> 是文档的 URL. ...

  3. Office文档在线预览接口服务器

    现在的Office文档在线预览基本都是收费的,但这个功能几乎在所有软件系统中都会有这个需求,微软有一个Office online是免费的,但是安装跟配置非常复杂,可以说用难度5颗星来形容,有没有一个更 ...

  4. office 文档 在线预览功能实现(word,excel,pdf,ppt等多种格式)——使用https://view.xdocin.com/view 提示文档过期——基础积累

    web实现office文档在线预览功能--基础积累 最近遇到一个需求,就是要实现多种文档链接的在线预览,最简单的方式就是通过window.open(url地址)的方式来实现. 但是如果要求是在一个弹窗 ...

  5. Office 文档在线预览

    现在的Office文档在线预览基本都是收费的,但这个功能几乎在所有软件系统中都会有这个需求,微软有一个Office online是免费的,但是安装跟配置非常复杂,可以说用难度5颗星来形容,有没有一个更 ...

  6. office 文档在线预览新姿势之永中云转换

    你知道的越多,你不知道的越多 点赞再看,养成习惯 如果您有疑问或者见解,或者需要毕业设计,大作业指导,购买付费源码等,欢迎指教: 企鹅:869192208 文章目录 前言: 一.接入准备 二.预览 w ...

  7. Office文档在线预览

    文章目录 方案一:word转html 1. 添加依赖 2. 编写工具类Word2HtmlUtil.java 3. 测试 方案二:使用第三方服务 方案三:使用微软 Office Online 服务 永中 ...

  8. Office文档在线预览/在线编辑解决方案 - 毕升OfficeAPI说明

    毕升OfficeAPI说明 毕升OfficeAPI集成.onlyoffice api集成 使用毕升Office编辑,预览文件的过程 Api 具体说明 HMAC-MD5签名 callURL返回值 如何检 ...

  9. office文档 在线预览 (doc、ppt、xls)

    office 在线预览  调用微软的api,将office文档转换为html,然后实现预览. 参考我们的实现方式:http://demo.kalcaddle.com/?user/loginSubmit ...

最新文章

  1. opencv3.4.1 vs2017 鼠标停在 Mat 上 vs卡死
  2. Windows与Linux系统分隔符不一致,java轻松实现区分
  3. 图解如何在DC上添加自定义属性类
  4. raml2html 安装,Raml实践
  5. linux内核源代码_如何从源代码构建和安装最新的Linux内核
  6. 2021-06-06滚动条de面板
  7. 【FastDFS】FastDFS在CentOS的搭建
  8. n阶Hilbert矩阵的Gauss消去法求解
  9. 今天你的人生做减法了吗?
  10. windows symbols
  11. 利用Python进行数据分析——数据导入导出
  12. websocket 发送数据大于0xFFFF(65535)的处理
  13. 常用半导体器件之二极管
  14. 无线打印服务器与什么打印机相配,网络打印服务器-本地打印机和网络打印机有什么区别? 爱问知识人...
  15. 如何看待阿里云要做“全球产业AI的拓荒者”?
  16. java蓝桥杯练习 幸运数
  17. 日常英语单词 - 食物
  18. 遇到错误:python文件读写权限permission denied
  19. 测试开发工程师面试总结(一)——Java基础篇
  20. 清理木马npscan

热门文章

  1. Hybrid APP架构设计思路
  2. JS 字符串中间加空格
  3. python 模拟ios提交网络_使用Xcode + Python进行IOS运动轨迹模拟
  4. QT:Qt设计师的使用 designer
  5. 【IT项目管理】第6章 习题
  6. H.266 JEM相对于HEVC HM的改进
  7. Camera和Image sensor技术基础笔记(7) -- SCCB总线
  8. 异步多线程之Thread详解
  9. 每天加班的你,真的会工作吗?
  10. c语言inv函数怎么用,1 怎样学习c语言