当前位置: 首页 > news >正文

vue项目在线预览docx文件

  1. 安装组件库: 首先,你需要安装vue-officedocx预览组件以及vue-demi(用于Vue2和Vue3的兼容):

    npm install @vue-office/docx vue-demi
  2. 引入组件和样式: 在你的Vue组件中引入VueOfficeDocx组件和相关的CSS样式:

    import VueOfficeDocx from '@vue-office/docx' 
    import '@vue-office/docx/lib/index.css'
  3. 使用组件: 在模板中使用<vue-office-docx>标签,并设置:src属性为.docx文件的网络地址。同时,你可以设置组件的样式,比如高度,并监听renderederror事件:

    <template><div><input type="file" @change="onFileChange" accept=".docx" /><a href="#" @click.prevent="previewDocx">预览 DOCX 文档</a><div v-html="docContent" class="doc-preview"></div><!-- 文档预览组件 --><vue-office-docxv-if="docxSrc":src="docxSrc"style="height: 600px;"@rendered="renderedHandler"@error="errorHandler"/></div>
    </template><script>
    import { ref } from 'vue';import VueOfficeDocx from '@vue-office/docx'
    import '@vue-office/docx/lib/index.css'export default{name:'TestDoc1',components: {VueOfficeDocx},setup(){// const arrayBuffer = ref(null)const docContent = ref('')const docxSrc = ref(null)const onFileChange = async (event) => {const file = event.target.files[0];if (file) {const reader = new FileReader();reader.onload = (e) => {// 将文件读取为ArrayBufferdocxSrc.value = e.target.result;};reader.readAsArrayBuffer(file);}};const renderedHandler = () => {console.log("文档渲染完成");}const errorHandler = (error) => {console.error("文档渲染失败:", error);}return {onFileChange,docContent,renderedHandler,errorHandler,docxSrc};}}
    </script>
    <style>.docx-table {width: 100%;border-collapse: collapse;
    }.docx-table th, .docx-table td {border: 1px solid #000;padding: 8px;text-align: left;
    }
    </style>


http://www.mrgr.cn/news/3110.html

相关文章:

  • MobileVit 系列算法
  • nvidia系列教程-AGX-Orin pcie网卡I350调试笔记
  • 一篇初学者入门Python匿名函数与Lambda表达式详细教程
  • Zookeeper的在Ubuntu20.04上的集群部署
  • AI秘境-墨小黑奇遇记 (七):掉发的代价:神经网络与“秃头效应”
  • generator函数和async/await
  • GBase数据库学习笔记:技术要点梳理
  • 类加载的过程与触发时机
  • 基于springboot养老院管理系统pf
  • 短视频矩阵工具种类繁多,一招教你轻松做选择!
  • STM32第十二节(中级篇):串口通信(第二节)——串口固件库函数以及串口发送和接收代码讲解
  • Redis相关介绍
  • 新手/小白看/java 一些基础问题
  • 视频编辑与制作软件哪个好 视频编辑与制作软件哪个好学
  • 【JVM】类加载器、双亲委派、SPI(二)
  • LeetCode //C - 316. Remove Duplicate Letters
  • TCP/IP详解
  • 【问题解决3】【已解决】Cannot determine path to‘tools.jar‘libraryfor17
  • 使用 nginx 搭建代理服务器(正向代理 https 网站)指南
  • vue3+ts封装axios以及解决跨域问题