Vue2实现docx,xlsx,pptx预览

一、docx预览

1、安装插件

npm i @js-preview/docx

2、代码中使用

html 复制代码
<template>
    <div id="docx"></div>
</template>

<script>
import jsPreviewDocx from "@js-preview/docx";
import '@js-preview/docx/lib/index.css'
export default {
    name: "JsPreviewDocxDemo",
    props:['fileUrl'],
    data(){
      return {
          myDocxPreviewer: null
      }
    },
    mounted() {
        //初始化时指明要挂载的父元素Dom节点
        this.myDocxPreviewer = jsPreviewDocx.init(document.getElementById('docx'));

//传递要预览的文件地址即可
        this.myDocxPreviewer.preview(this.fileUrl).then(()=>{
            console.log('预览完成');
        }).catch(e=>{
            console.log('预览失败', e);
        })
    },
    beforeDestroy() {
        this.myDocxPreviewer.destroy();
    }
};
</script>

<style scoped>

</style>

二、xlsx预览

1、安装插件

npm i @js-preview/excel

2、代码中使用

html 复制代码
<template>
    <div id="excel" style="height: 100%;"></div>
</template>

<script>
import jsPreviewExcel from "@js-preview/excel";
import '@js-preview/excel/lib/index.css';
export default {
    name: "JsPreviewExcelDemo",
    props:['fileUrl'],
    data(){
      return {
          myExcelPreviewer: null
      }
    },
    mounted(){
        this.myExcelPreviewer = jsPreviewExcel.init(document.getElementById('excel'));
        this.myExcelPreviewer .preview(this.fileUrl).then(()=>{
            console.log('预览完成');
        }).catch(e=>{
            console.log('预览失败', e);
        })
    },
    beforeDestroy() {
        this.myExcelPreviewer.destroy();
    }
};
</script>

<style scoped>

</style>

三、pptx预览

1、pptxjs插件下载https://github.com/meshesha/PPTXjs/releases

2、插件压缩包解压,放在项目静态资源目录下。

3、index.html中进行引用。

html 复制代码
<link rel="stylesheet" href="<%= BASE_URL %>/PPTXjs/css/pptxjs.css" rel="external nofollow" />
		<link rel="stylesheet" href="<%= BASE_URL %>/PPTXjs/css/nv.d3.min.css" rel="external nofollow" />
		<!-- for charts graphs -->
		<script type="text/javascript" src="<%= BASE_URL %>/PPTXjs/js/jquery-1.11.3.min.js"></script>
		<script type="text/javascript" src="<%= BASE_URL %>/PPTXjs/js/jszip.min.js"></script>
		<!-- v2.. , NOT v.3.. -->
		<script type="text/javascript" src="<%= BASE_URL %>/PPTXjs/js/filereader.js"></script>
		<!--https://github.com/meshesha/filereader.js -->
		<script type="text/javascript" src="<%= BASE_URL %>/PPTXjs/js/d3.min.js"></script>
		<!-- for charts graphs -->
		<script type="text/javascript" src="<%= BASE_URL %>/PPTXjs/js/nv.d3.min.js"></script>
		<!-- for charts graphs -->
		<script type="text/javascript" src="<%= BASE_URL %>/PPTXjs/js/pptxjs.js"></script>
		<script type="text/javascript" src="<%= BASE_URL %>/PPTXjs/js/divs2slides.js"></script>
		<!-- for slide show -->

4、代码中使用

html 复制代码
<div id="pptx"></div>


 mounted() {
        $("#pptx").pptxToHtml({
            pptxFileUrl: "http://127.0.0.1:5500/test.ppt", //pptx文件地址
            slidesScale: "100%",
            slideMode: false,
            keyBoardShortCut: false
        });
    }
相关推荐
微学AI6 小时前
一根针指向所有方向:挂谷猜想对 LLM Agent 技能-记忆架构的启示
开发语言·人工智能·架构·挂谷猜想
豆瓣鸡7 小时前
算法日记 - Day3
java·开发语言·算法
夏殇之殁8 小时前
包中创建自定义列表项。 . 使用自定义列表项进行数据绑定 . 将天气预报数据保存到本地内存表,通过LiveBindings进行显示。 ...
服务器·前端·javascript
韭菜炒鸡肝天8 小时前
VTK开发笔记(一):VTK介绍,Qt..+VSx+VTK.编译
开发语言·笔记·qt
Aaron - Wistron8 小时前
Web API C# (Furion版)带 单元测试
开发语言·后端·c#
新中地GIS开发老师9 小时前
WebGIS开发学生作品|低空航天管理与航线规划系统
前端·javascript·webgis·三维gis开发
丙氨酸長鏈9 小时前
Web前端入门第 问:JavaScript 一个简单的 IndexedDB 数据库入门示例
前端·javascript·数据库
Dxy12393102169 小时前
Python项目打包成EXE完整教程(PyInstaller实战避坑)
开发语言·python
05664610 小时前
Python康复训练——常用标准库
开发语言·python·学习
骊城英雄10 小时前
基于C#+avalonia ui实现的跨平台点胶机灌胶监控控制上位机软件
开发语言·ui·c#