VUE3中实现word的预览功能

本文档展示了如何在Vue应用中利用docx-preview库来预览Word文档。首先通过cnpm安装docx-preview,然后在Vue组件中引入相关模块和配置。在httpGetBlob获取到文档blob数据后,使用renderAsync方法在指定的ref中渲染文档,同时提供了详细的渲染选项以调整显示效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装docx-preview
 

 cnpm i docx-preview --save

在vue文件中使用

 <div ref="refWord" v-if="showType === 'word'" />
<script setup name="ResPreviewBox">
  import { ref } from 'vue' 
  import { httpGet, httpGetBlob } from '../utils/request'
  import { defaultOptions, renderAsync } from 'docx-preview'

  const refWord = ref(null)
  const showType = ref('word')


  httpGetBlob(downloadResource).then(blobData => {
      if (blobData ) {
        if (showType.value === 'word') {
          const options = {
            className: 'docx', // 默认和文档样式类的类名/前缀
            inWrapper: true, //  启用围绕文档内容渲染包装器
            ignoreWidth: false, //  禁止页面渲染宽度
            ignoreHeight: false, //  禁止页面渲染高度
            ignoreFonts: false, //  禁止字体渲染
            breakPages: true, //  在分页符上启用分页
            ignoreLastRenderedPageBreak: true, //  禁用lastRenderedPageBreak元素的分页
            experimental: false, //  启用实验性功能(制表符停止计算)
            trimXmlDeclaration: true, //   如果为真,xml声明将在解析之前从xml文档中删除
            debug: false, //  启用额外的日志记录
            useBase64URL: true, // 如果为true,图片、字体等将被转换为base 64 URL,否则使用URL.createObjectURL
            useMathMLPolyfill: false, //  包括用于 chrome、edge 等的 MathML polyfill。
            showChanges: false // 启用文档更改(插入/删除)的实验性呈现
          }
          renderAsync(blobData , refWord.value, null, options)
        }
      }

</script>

预览效果

 

https://github.com/VolodymyrBaydalka/docxjsicon-default.png?t=M85Bhttps://github.com/VolodymyrBaydalka/docxjs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JackieZhengChina

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值