vue 文件预览(docx、.xlsx、pdf)

1.ifream

<iframe src="" ></iframe> 

注: src里面是文件地址

2.vue-office

     支持vue2和vue3提供docx、.xlsx、pdf多种文档的在线预览方案

    2.1安装

#docx文档预览组件
npm install @vue-office/docx vue-demi

#excel文档预览组件
npm install @vue-office/excel vue-demi

#pdf文档预览组件
npm install @vue-office/pdf vue-demi

如果是vue2.6版本或以下还需要额外安装 @vue/composition-api

npm install @vue/composition-api

代码(与ifrem用法类似)

doc:目前只支持docx文件预览,不支持doc文件

excil:目前只支持xlsx文件预览,不支持xls文件

pdf:无

注:doc,excil,pdf代码基本一致(以docx为例)

<template>
    <vue-office-docx
        :src="docx"
        style="height: 100vh;"
        @rendered="renderedHandler"
        @error="errorHandler"
    />
</template>

<script>
//引入VueOfficeDocx组件
import VueOfficeDocx from '@vue-office/docx'
//引入相关样式
import '@vue-office/docx/lib/index.css'

export default {
    components: {
        VueOfficeDocx
    },
    data() {
        return {
            docx: '' //设置文档网络地址,可以是相对地址
        }
    },
    methods: {
        renderedHandler() {
            console.log("渲染完成")
        },
        errorHandler() {
            console.log("渲染失败")
        }
    }
}
</script>

上传文件预览: 如果是原生的input type="file",也是类似的

<template>
    <div id="docx-demo">
        <el-upload
            :limit="1"
            :file-list="fileList"
            accept=".docx"
            :beforeUpload="beforeUpload"
            action=""
        >
            <el-button size="small" type="warning">点击上传</el-button>
        </el-upload>
        <vue-office-docx :src="src"/>
    </div>
</template>

<script>
import VueOfficeDocx from '@vue-office/docx'
import '@vue-office/docx/lib/index.css'

export default {
    components: {
        VueOfficeDocx
    },
    data() {
        return {
            src: '',
            fileList: []
        }
    },
    methods: {
        //在beforeUpload中读取文件内容
        beforeUpload(file) {
            let reader = new FileReader();
            reader.readAsArrayBuffer(file);
            reader.onload = (loadEvent) => {
                let arrayBuffer = loadEvent.target.result;
                this.src = arrayBuffer
            };
            return false
        }
    }
}
</script>

相关推荐

  1. vue 文件(docx、.xlsx、pdf)

    2024-03-27 07:00:02       17 阅读
  2. vue2 word文件

    2024-03-27 07:00:02       18 阅读
  3. vuePDF文件的方法

    2024-03-27 07:00:02       8 阅读
  4. vue,uniapp的pdf等文件在线

    2024-03-27 07:00:02       37 阅读
  5. SperingBoot+vue文件上传&下载&

    2024-03-27 07:00:02       44 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-27 07:00:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-27 07:00:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-27 07:00:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-27 07:00:02       18 阅读

热门阅读

  1. net core 使用 iTextSharp 生成PDF

    2024-03-27 07:00:02       15 阅读
  2. 触发器的工艺结构原理及选型参数总结

    2024-03-27 07:00:02       18 阅读
  3. 决策树介绍

    2024-03-27 07:00:02       13 阅读
  4. 深入学习Spark SQL:处理结构化数据的利器

    2024-03-27 07:00:02       17 阅读
  5. 决策树-计算信息熵

    2024-03-27 07:00:02       17 阅读
  6. 决策树学习心得

    2024-03-27 07:00:02       16 阅读
  7. Stable Diffusion 本地部署教程

    2024-03-27 07:00:02       20 阅读
  8. 压力测试(QPS)及测试工具Locust

    2024-03-27 07:00:02       17 阅读
  9. Spark SizeTrackingAppendOnlyMap 相关源代码分析

    2024-03-27 07:00:02       16 阅读
  10. Stable Diffusion XL之核心基础内容

    2024-03-27 07:00:02       16 阅读
  11. k8s 的资源清单

    2024-03-27 07:00:02       17 阅读
  12. 图论相关代码(matlab)

    2024-03-27 07:00:02       17 阅读