当前位置:首页 » 《随便一记》 » 正文

word预览方式---插件,vue-office-docx、docx-preview、mammoth.js

17 人参与  2024年11月07日 11:23  分类 : 《随便一记》  评论

点击全文阅读


提示:word预览方式—插件

文章目录

@[TOC](文章目录) 前言一、vue-office-docx二、docx-preview三、mammoth.js总结

前言

word预览

在这里插入图片描述

一、vue-office-docx

npm install vue-office-docx -S-D

officeDocx.vue

<template>    <div class="preview_box">      <VueOfficeDocx :src="htmlContent"></VueOfficeDocx>    </div>  </template>    <script>  import axios from 'axios'  import VueOfficeDocx from '@vue-office/docx'  //引入相关样式  import '@vue-office/docx/lib/index.css';    export default {    name: 'preview',    components:{VueOfficeDocx},    data () {      return {        src:`.docx文件rul`,        htmlContent:''      }    },    mounted(){      this.docToHtml();    },    methods: {      docToHtml(){        axios.get(this.src,{ responseType: 'arraybuffer' }).then((res)=>{          this.htmlContent = res.data;        })      }    }  }  </script>  <style scoped></style>  

在这里插入图片描述

样式还原度一般,间距太大,分页也有问题

二、docx-preview

npm install docx-preview -S-D

docxPreview.vue

<template>    <div class="preview_box">       <div ref="docxPreviewRef"></div>    </div>  </template>    <script>  import axios from 'axios'  import { renderAsync }  from 'docx-preview'    export default {    name: 'preview',    components:{},    data () {      return {        src:`.docx文件rul`,      }    },    mounted(){      this.docToHtml();    },    methods: {      docToHtml(){        axios.get(this.src,{ responseType: 'arraybuffer' }).then((res)=>{          renderAsync(res.data, this.$refs.docxPreviewRef);        })      }    }  }  </script>  <style scoped></style>  

在这里插入图片描述
样式还原度一般,无分页

三、mammoth.js

npm install mammoth.js -S-D

docxMammoth.vue

<template>    <div class="preview_box">       <div ref="docxPreviewRef" v-html="htmlContent"></div>    </div>  </template>    <script>  import axios from 'axios'  import mammoth  from 'mammoth'  export default {    name: 'preview',    components:{},    data () {      return {        src:`.docx文件rul`,        htmlContent:''      }    },    mounted(){      this.docToHtml();    },    methods: {      docToHtml(){        axios.get(this.src,{ responseType: 'arraybuffer' }).then((res)=>{          mammoth.convertToHtml({ arrayBuffer: new Uint8Array(res.data) }).then((html)=>{            this.htmlContent = html.value;          })        })      }    }  }  </script>  <style scoped></style>  

在这里插入图片描述
样式有问题,表格都没了

总结

踩坑路漫漫长@~@


点击全文阅读


本文链接:http://zhangshiyu.com/post/183588.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1