ToB企服应用市场:ToB评测及商务社交产业平台
标题:
js 前端页面页面展示docx文件【插件docx-preview】
[打印本页]
作者:
伤心客
时间:
2024-12-2 04:09
标题:
js 前端页面页面展示docx文件【插件docx-preview】
需求: 页面展示docx文件
利用插件:docx-preview.min.js,以及该插件依赖jszip.min.js
1、jszip.min.js 地址:https://cdn.bootcdn.net/ajax/libs/jszip/3.10.0/jszip.min.js
2、docx-preview.min.js 地址: https://github.com/VolodymyrBaydalka/docxjs
//自测项目用了vue
3、vue.js地址:https://cdn.jsdelivr.net/npm/vue/dist/vue.js
复制代码
插件利用实例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<div id="app">
<input type="file" @change="upload">
<div ref="file"></div>
</div>
<script src="./jszip.min.js"></script>
<script src="./vue.js"></script>
<script src="./docx-preview.min.js" type="text/javascript"></script>
<script>
var app = new Vue({
el: '#app',
data: {
file: null
},
mounted(){
this.getApi("./****.docx");//本地文档地址:./****.docx
},
methods: {
//1、通过input预加载展示文档
upload(e) {
this.file = e.target.files[0]
console.log('this.file=-======',this.file)
docx.renderAsync(this.file, this.$refs.file);
},
//2、直接请求本地文档
getApi(path){
let _that = this;
let xhr = new XMLHttpRequest();
xhr.open('GET', path, true);
xhr.responseType = 'blob';
xhr.onload = function (e) {
if (this.status == 200) {
//docx文档blob对象type类型值为:
//application/vnd.openxmlformats-officedocument.wordprocessingml.document
let blob = new Blob([this.response], {type: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'});
// 使用blob对象进行操作
console.log('blob=====',blob)
docx.renderAsync(blob, _that.$refs.file);
}
};
xhr.send();
}
}
})
</script>
</body>
</html>
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4