需求背景

最近学妹她们那边有一个项目类似在线网盘的东西,支持文件上传保存。其中除了普通text文本以外,还有如office文件word、excel、ppt等文件,并且提供在线预览的功能。用户能够在线预览文件内容,并且分享预览链接出去的word不能下载到这个文件,不能暴露实际文件URL路径。她那边不知道怎么来处理这个问题,所以自然问了我一下。恰好之前这块我也做过一些这方面的项目,罗列几个处理方案。

解决方案

1.openoffice转化

推荐指数: 2 颗星

Apache下有一款软件基于Java开发的软件openoffice可以运行在Linux并且支持将Word文件转化为PDF或者HTML页面。我们可以利用这个软件对我们上传的文件通过这个openoffice提供的转化接口转化得到PDF或者HTML页面,这样我们再使用一个HTML页面把生成的PDF或者HTML整合一下就能达到预览目的了。

可以参考我以前记录博客: openoffice转化

虽然可以支持预览问题,不过这种方式不是很靠谱各种语言调用接口方式不同,API不太友好,效果不是比较令人满意,需要采坑。

2.微软在线预览接口

推荐指数: 3 颗星

可以参考我的博客:     微软在预览

预览效果倒是相对openoffice好,但是还是不能避免那个下载问题。文档的真实URL暴露,则其实分享预览链接的时候文档也暴露了。

3.永中文档

推荐指数: 5 颗星

官网:   永中文档官网

这个解决方案也是同事之前他们项目采用的,简单、快捷可以把剩余精力放在其他开发的地方。

永中文档提供针对Office文档预览、在线编辑等功能等的一个产品。主要是能够满足我们的需求:

1.能够实现在线预览的基本要求
    2.不会暴露我们文档的下载地址
    3.支持预览链接过期时间

还有一些附加的功能可以设置我们的文档水印、防文本复制等等。而且商用版本支持私有云部署,可以支持部署在公司内网作为预览服务器。免费版只需要注册用户,添加域名即可使用,还算是相对方便的。 获取预览地址,调用API代码很简单,几行代码就搞定了。

下面我做调用接口弄个demo大家可以看一下,官网注册账号我就不说了。进入公有云服务中心,新增域名,之后通过GET接口即可转化拿到预览地址。

1.添加域名

每个域名会拿到一个key,这个域名就是我们的网站的域名。 之后通过代码调用get请求就能拿到json字符串, json中拿到预览URL地址:

  1. 获取预览地址文档
  2. PHP代码案例
<?php$key = '47869076824915968173682';  // 永中文档后台获取到的key
$myDomain = 'https://xxx.com/my.pptx'; // 自己域名文件所处路径$url = "http://api.yozocloud.cn/getPreview?k={$key}&url={$myDomain}";
$respJson = file_get_contents($url);
$respArr  = json_decode($respJson, true);
var_dump($respArr);
$previewUrl = $respArr["data"]["data"]; // 拿到预览的URL地址

office文件在线预览相关推荐

  1. office文件在线预览

    项目场景:后台管理项目中需要展示world.excel等文件 问题描述 前端预览office插件大多数都是收费的,比如:XDOC文档预览云服务(有试用期) 需要一个免费的且兼容各种文件格式的方法 解决 ...

  2. java将office文档,word,ppt,pdf文档转换成swf文件在线预览

    java将office文档pdf文档转换成swf文件在线预览 第一步,安装openoffice.org openoffice.org是一套sun的开源office办公套件,能在widows,linux ...

  3. 文件在线预览(免费)--毕升office系统

    文件在线预览(免费)–毕升office系统 官网地址: https://ibisheng.cn/ 主要的特点: 小微企业以及小型团队(最大20连接)一键部署,免费使用. 政企客户离线,多结点部署,满足 ...

  4. word、excel、ppt 办公文件 在线预览

    如果想要免费的,可以用 openoffice,实现原理就是: 通过第三方工具openoffice,将word.excel.ppt.txt等文件转换为pdf文件流:当然如果装了Adobe Reader ...

  5. kkfileview v2.0 发布,文件在线预览项目方案

    kkfileview文件在线预览 此项目为文件文档在线预览项目解决方案,项目使用流行的spring boot搭建,易上手和部署,部署好后可以独立提供预览服务,使用http接口访问,不需要和应用集成,具 ...

  6. 快速实现word、excel、ppt、txt等办公文件在线预览功能(Java版)

    点击关注公众号,实用技术文章及时了解 来源:blog.csdn.net/weixin_40986713/ article/details/109527294 java实现办公文件在线预览功能是一个大家 ...

  7. doc文件在线预览 vue_跨平台(uniapp)文件在线预览解决方案

    一.前言 之前写过一篇文章关于上传目录文件:uni-app系统目录文件上传(非只图片和视频)解决方案,这次来解决文件预览问题. uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者 ...

  8. Java 实现word、excel、ppt、txt等办公文件在线预览功能!

    大家好,我是宝哥! 如何用 Java 实现word.excel.ppt.txt等办公文件在线预览功能?本文告诉你答案! java 实现办公文件在线预览功能是一个大家在工作中也许会遇到的需求,网上些公司 ...

  9. 手把手教你用 Java 实现word、excel、ppt、txt等办公文件在线预览功能!

    如何用 Java 实现word.excel.ppt.txt等办公文件在线预览功能?本文告诉你答案! java 实现办公文件在线预览功能是一个大家在工作中也许会遇到的需求,网上些公司专门提供这样的服务, ...

最新文章

  1. 两个半月!出差终于结束啦
  2. BZOJ 2456 mode (杂题)
  3. SSM前后端分离及跨域
  4. ensp小实验走起来(路由下发、MSTP、VRRP、DHCP、DHCP中继、NAT、链路聚合)之配置
  5. Bash Shell学习笔记四
  6. unity获取电磁笔压感_【WPF】获取电磁笔的压感
  7. flowable实战(十三):为了启动流程实例时给流程加一个标题
  8. JavaScript中一个对象数组按照另一个数组排序
  9. 为什么我墙裂建议大家使用枚举来实现单例。
  10. Symbol学习与回忆
  11. jsp因为端口无效不能启动_Java:JSP和Servlet面试题总结
  12. 中文语句分词 -- HanLP词性
  13. 【图像增强】基于matlab HSV空间双边滤波图像去雾【含Matlab源码 067期】
  14. WEB前端基础-HTML CSS总结.xmind思维导图
  15. 奇迹按键精灵挂机脚本_奇迹挂机捡物按键精灵源码
  16. VC++设置默认音频设备(附源码)
  17. jquerymp3文件下载_前端实现文件下载所有方式
  18. 股票量化交易系统的指标和策略有哪些?
  19. sudo apt-get update 出现Reading package lists… Error!
  20. KendoUI学习笔记

热门文章

  1. 关于skeaz128.h芯片包总头文件V1.3版本与V1.2版本的变更说明
  2. 浅谈企业数据能力建设
  3. 知识产权行业拓客的10个经典方法
  4. 大哥無極的币圈沉浮史:从负债1亿到身家10亿
  5. linux安装git及使用
  6. 优秀是一种习惯(转)
  7. Caused by: org.apache.ibatis.binding.BindingException: Parameter ‘memberId‘ not found. Available par
  8. iOS 开发问与答(142-159)
  9. 【优化求解】基于猫群算法CSO求解最优目标matlab源码
  10. 基于haar特征的adaboost算法_目标检测算法介绍