前台js有没有办法实现附件比如word或者pdf的预览

JavaScript015

前台js有没有办法实现附件比如word或者pdf的预览,第1张

pdf的预览是可以实现的,world文档因为有复杂表格什么的不好处理,所以最好转换为pdf再预览;

pdf.js实现加载整个pdf

网页链接

1 将文件放在前端静态文件中 实现本地预览 但前端包变得很大 多文件不适合

2 通过跳转外网链接访问 但内网无法使用

3 综合考虑 利用浏览器自带的预览pdf 将文件放在服务器指定目录下

前端代码量很少 无需任何插件 只需调用后端接口(将文件转换为流) 内外网均可预览

新建一个vue项目。打开控制命令行程序(CMD),运行命令: vue init webpack “项目名称”

安装依赖,在控制命令行程序(CMD),运行命令:npm install 或者 cnpm install.

实现预览

这里先以word为例。首先运行命令:npm install mammoth,这是预览word的一个插件,必须要安装;在static文件夹下放一个.docx为后缀的word文件

其中引入的三个.js 文件是实现手势缩放、旋转、移动的方法,也可以不引入;

然后修改一下config文件夹下的index.js文件,将host改为0.0.0.0,只要手机和电脑在同一个域名ip下,就可以用手访问项目查看预览效果(ip地址:端口号)

excel、pdf预览都是一样,只是引入的插件不一样

excel预览运行命令:npm install xlsx,页面引入import XLSX from ‘xlsx’

pdf预览运行命令:npm install --save vue-pdf,页面引入import pdf from ‘vue-pdf’

gitee测试源码: https://gitee.com/fang_zheng_wei/mobile-preview