web页面无法支持预览office文档,但是却可以预览PDF、flash文档,所以大多数解决方案都是在服务端将office文档转换为pdf,然后再通过js的pdf预览插件(谷歌浏览器等已经原生支持嵌入PDF文档)进行查看。

Aspose
后台转换可以使用Aspose将office文档转换为PDF格式,Aspose功能强大,支持编辑/转换word、excel、ppt、pdf等,且API操作简便快速。Aspose是收费的,你需要下载破解版本。

除了Aspose可以编辑文档,类似的还有NPOI 、POI等。

1. 利用flexPaper预览swf文件,百度文库就是这种方式
  由于现在flash插件用得已经很少,此处不再赘述,详细请看这里

2.   pdfjs
  pdfjs是firefox浏览器内置的pdf预览插件,由于是开源的,我们也可以使用它,ie版本只支持ie9/ie9+。
  它通过将pdf转换为html元素再添加一些css3的样式达到pdf的预览效果,文档样式与原文档几乎没有太大区别。

3.  在页面中嵌入多媒体对象(PDF、flash、video等)

  缺点是不同的浏览器支持及呈现不一致,比如pdf目前只有webkit浏览器原生支持嵌入,而且移动端的webkit浏览器也是不支持的。
  PDF嵌入可以采用已封住好操作的插件PDFObject,也可以通过浏览器API自行编写。

vue中解决方案  

https://view.officeapps.live.com/op/view.aspx?src= 是官网提供的方法

//附件在线浏览
browseOnline(row) {
if (!/\.(pdf|PDF)$/.test(row.url)){
// 不是pdf格式 使用微软提供的Office Online实现
window.open("https://view.officeapps.live.com/op/view.aspx?src=" + row.url, '_blank');
return false;
} else {
// pdf 格式
}
},

pdf 可以在线浏览使用vue-pdf

npm install --save vue-pdf

使用

<template>
<el-dialog title="预览" :visible.sync="viewVisible" width="100%" height="100%" :before-close='closeDialog'>
<pdf :src="pdfsrc" ></pdf>
</el-dialog>
</template> <script> // 引入刚才下载的 pdf
import pdf from 'vue-pdf' export default { components: {
pdf
}, data() {
}, created() { }, methods: {} }
</script>

WEB文档在线预览解决方案的更多相关文章

  1. word文档在线预览解决方案

    花了一整天在网上翻关于 “word文档在线预览解决方案” 相关的资料,感觉实现难度比较大还是用PDF来解决好了.. 下面列一下比较好的参考资料吧 参考资料 前端实现在线预览pdf.word.xls.p ...

  2. 最好用的js前端框架、组件、文档在线预览插件

    这里收集的都是个人认为比较好的js框架.组件 js前端ui框架 此处列举出个人认为最好的几个框架(排序即排名),现在好点的框架商用都需要付费,以下几个也不例外,但是由于组件丰富,都可以作为企业应用的完 ...

  3. 基于CA认证(结合文档在线预览)的电子签章解决方案

    分享一个基于CA认证(结合文档在线预览)的电子签章实现思路,恰巧是最近项目中遇到的,欢迎大家一起讨论. 一. 项目背景 在公司业务系统中,按照传统的签章方式,存在以下痛点: 1.成本高,体现在纸质合同 ...

  4. Java+FlexPaper+swfTools仿百度文库文档在线预览系统设计与实现

    笔者最近在给客户开发文档管理系统时,客户要求上传到管理系统的文档(包括ppt,word,excel,txt)只能预览不允许下载.笔者想到了百度文库和豆丁网,百度文库和豆丁网的在线预览都是利用flash ...

  5. Java+FlexPaper+swfTools 文档在线预览demo

    1.概述 主要原理 1.通过第三方工具openoffice,将word.excel.ppt.txt等文件转换为pdf文件 2.通过swfTools将pdf文件转换成swf格式的文件 3.通过FlexP ...

  6. asp.net如何实现word文档在线预览

    原文:asp.net如何实现word文档在线预览 实现方式:office文档转html,再在浏览器里面在线浏览 1.首先引入com组件中office库,然后在程序集扩展中引入word的dll 2.将M ...

  7. 文档在线预览开源实现方案二:OpenOffice + pdf.js

    文档在线预览的另一种实现方式采用的技术栈是OpenOffice + pdf.js, office文档转换为pdf的工作依然由OpenOffice的服务来完成,pdf生成后我们不再将其转换为其他文件而是 ...

  8. 文档在线预览开源实现方案一:OpenOffice + SwfTools + FlexPaper

    在文档在线预览方面,项目组之前使用的是Microsoft office web apps, 由于该方案需要按照微软License付费,项目经理要我预研一个文档在线预览的开源实现方案.仔细钻入该需求发现 ...

  9. 告别收费BI!如何自己动手做一个免费的可视化数据报表还支持文档在线预览?

    本人大学刚毕业目前在一家互联网公司从事产品运营工作,一季度刚过,公司需要我出一份产品运营数据报表,由于产品用户数据.订单数据等数据量太大,我希望找一款Bi产品,支持我做出一个精美的可视化报表,还可以让 ...

随机推荐

  1. 零基础学习java------day9------多态,抽象类,接口

    1. 多态 1.1  概述: 某一个事务,在不同环境下表现出来的不同状态 如:中国人可以是人的类型,中国人 p = new  中国人():同时中国人也是人类的一份,也可以把中国人称为人类,人类  d  ...

  2. ES6必知,箭头函数与普通函数的区别。

    1. 箭头函数没有prototype(原型),所以箭头函数本身没有this let a = () =>{}; console.log(a.prototype); // undefined 2. ...

  3. RHEL 6.5安装系统

    转自如下链接: http://www.jb51.net/os/128752.html

  4. jQuery遍历的几种方式

    一.jQuery对象遍历 1 <script type="text/javascript" src="js/jquery-3.4.1.js">< ...

  5. win10 安装xmemcache及使用

    一.下载链接 链接:https://pan.baidu.com/s/14J6Vc8TBEZeRoMp2MgcydQ 提取码:3q8r 二.安装 安装: memcached -d  install 卸载 ...

  6. CentOS6设置开机自启动

    1.把开机启动脚本(mysqld)copy到文件夹/etc/init.d 或 /etc/rc.d/init.d 中 2.将启动程序的命令添加到 /etc/rc.d/rc.local 文件中,比如: # ...

  7. 转:select、poll、epoll之间的区别总结[整理]

    转:select.poll.epoll之间的区别总结[整理] select,poll,epoll都是IO多路复用的机制.I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就 ...

  8. Mybatis环境搭建及测试

    1.新建java project,导入相应jar包 本次使用到的mybatis-3.2.7版本 mybatis需要jar包:mybatis-3.2.7.jar.lib文件下的依赖jar mysql驱动 ...

  9. [BUUCTF]REVERSE——[WUSTCTF2020]level2

    [WUSTCTF2020]level2 附件 步骤: 例行检查,32位程序,upx壳儿 脱完壳儿,扔进32位ida,习惯性的检索字符串,在我没找到什么关键信息,准备去看main函数的时候,将字符串拉到 ...

  10. CF1036A Function Height 题解

    Content 给定一个坐标系,在它的 \(x\) 轴上有 \(2n+1\) 个点 \(P_0,P_1,P_2,...,P_{2n}\),其中对于 \(0\leqslant i\leqslant 2n ...