office文件在线预览
需求背景
最近学妹她们那边有一个项目类似在线网盘的东西,支持文件上传保存。其中除了普通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地址:
- 获取预览地址文档
- 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文件在线预览相关推荐
- office文件在线预览
项目场景:后台管理项目中需要展示world.excel等文件 问题描述 前端预览office插件大多数都是收费的,比如:XDOC文档预览云服务(有试用期) 需要一个免费的且兼容各种文件格式的方法 解决 ...
- java将office文档,word,ppt,pdf文档转换成swf文件在线预览
java将office文档pdf文档转换成swf文件在线预览 第一步,安装openoffice.org openoffice.org是一套sun的开源office办公套件,能在widows,linux ...
- 文件在线预览(免费)--毕升office系统
文件在线预览(免费)–毕升office系统 官网地址: https://ibisheng.cn/ 主要的特点: 小微企业以及小型团队(最大20连接)一键部署,免费使用. 政企客户离线,多结点部署,满足 ...
- word、excel、ppt 办公文件 在线预览
如果想要免费的,可以用 openoffice,实现原理就是: 通过第三方工具openoffice,将word.excel.ppt.txt等文件转换为pdf文件流:当然如果装了Adobe Reader ...
- kkfileview v2.0 发布,文件在线预览项目方案
kkfileview文件在线预览 此项目为文件文档在线预览项目解决方案,项目使用流行的spring boot搭建,易上手和部署,部署好后可以独立提供预览服务,使用http接口访问,不需要和应用集成,具 ...
- 快速实现word、excel、ppt、txt等办公文件在线预览功能(Java版)
点击关注公众号,实用技术文章及时了解 来源:blog.csdn.net/weixin_40986713/ article/details/109527294 java实现办公文件在线预览功能是一个大家 ...
- doc文件在线预览 vue_跨平台(uniapp)文件在线预览解决方案
一.前言 之前写过一篇文章关于上传目录文件:uni-app系统目录文件上传(非只图片和视频)解决方案,这次来解决文件预览问题. uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者 ...
- Java 实现word、excel、ppt、txt等办公文件在线预览功能!
大家好,我是宝哥! 如何用 Java 实现word.excel.ppt.txt等办公文件在线预览功能?本文告诉你答案! java 实现办公文件在线预览功能是一个大家在工作中也许会遇到的需求,网上些公司 ...
- 手把手教你用 Java 实现word、excel、ppt、txt等办公文件在线预览功能!
如何用 Java 实现word.excel.ppt.txt等办公文件在线预览功能?本文告诉你答案! java 实现办公文件在线预览功能是一个大家在工作中也许会遇到的需求,网上些公司专门提供这样的服务, ...
最新文章
- 两个半月!出差终于结束啦
- BZOJ 2456 mode (杂题)
- SSM前后端分离及跨域
- ensp小实验走起来(路由下发、MSTP、VRRP、DHCP、DHCP中继、NAT、链路聚合)之配置
- Bash Shell学习笔记四
- unity获取电磁笔压感_【WPF】获取电磁笔的压感
- flowable实战(十三):为了启动流程实例时给流程加一个标题
- JavaScript中一个对象数组按照另一个数组排序
- 为什么我墙裂建议大家使用枚举来实现单例。
- Symbol学习与回忆
- jsp因为端口无效不能启动_Java:JSP和Servlet面试题总结
- 中文语句分词 -- HanLP词性
- 【图像增强】基于matlab HSV空间双边滤波图像去雾【含Matlab源码 067期】
- WEB前端基础-HTML CSS总结.xmind思维导图
- 奇迹按键精灵挂机脚本_奇迹挂机捡物按键精灵源码
- VC++设置默认音频设备(附源码)
- jquerymp3文件下载_前端实现文件下载所有方式
- 股票量化交易系统的指标和策略有哪些?
- sudo apt-get update 出现Reading package lists… Error!
- KendoUI学习笔记
热门文章
- 关于skeaz128.h芯片包总头文件V1.3版本与V1.2版本的变更说明
- 浅谈企业数据能力建设
- 知识产权行业拓客的10个经典方法
- 大哥無極的币圈沉浮史:从负债1亿到身家10亿
- linux安装git及使用
- 优秀是一种习惯(转)
- Caused by: org.apache.ibatis.binding.BindingException: Parameter ‘memberId‘ not found. Available par
- iOS 开发问与答(142-159)
- 【优化求解】基于猫群算法CSO求解最优目标matlab源码
- 基于haar特征的adaboost算法_目标检测算法介绍