日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

Vue2問題:分享一個(gè)通用多文件類型預(yù)覽庫

來源: 責(zé)編: 時(shí)間:2024-02-29 14:39:45 177觀看
導(dǎo)讀1. 需求分析當(dāng)我們?cè)谧鑫募A(yù)覽功能時(shí),往往會(huì)遇到一種糟糕的情況。就是每預(yù)覽一種類型的文件,就需要重新安裝、配置、編寫一個(gè)新的庫來實(shí)現(xiàn),很麻煩,也很繁瑣。于是,我尋找了一個(gè)可以通用的預(yù)覽庫,來處理這個(gè)問題。vue-offic

TMG28資訊網(wǎng)——每日最新資訊28at.com

1. 需求分析

當(dāng)我們?cè)谧鑫募A(yù)覽功能時(shí),往往會(huì)遇到一種糟糕的情況。TMG28資訊網(wǎng)——每日最新資訊28at.com

就是每預(yù)覽一種類型的文件,就需要重新安裝、配置、編寫一個(gè)新的庫來實(shí)現(xiàn),很麻煩,也很繁瑣。TMG28資訊網(wǎng)——每日最新資訊28at.com

于是,我尋找了一個(gè)可以通用的預(yù)覽庫,來處理這個(gè)問題。TMG28資訊網(wǎng)——每日最新資訊28at.com

vue-office,一個(gè)支持多種文件docx、excel、pdf預(yù)覽的vue組件庫,作者h(yuǎn)it757。這個(gè)庫不僅能支持vue2/3,也支持非Vue框架的預(yù)覽使用。TMG28資訊網(wǎng)——每日最新資訊28at.com

先看一下線上演示效果,如果實(shí)現(xiàn)效果與項(xiàng)目使用不符,為節(jié)約朋友們時(shí)間,可自行選擇是否向下閱讀。演示地址:https://501351981.github.io/vue-office/examples/dist/#/docx。TMG28資訊網(wǎng)——每日最新資訊28at.com

如果朋友們覺得能用,就繼續(xù)往下面看看它的實(shí)現(xiàn)。TMG28資訊網(wǎng)——每日最新資訊28at.com

TMG28資訊網(wǎng)——每日最新資訊28at.com

TMG28資訊網(wǎng)——每日最新資訊28at.com

2. 實(shí)現(xiàn)步驟

(1)關(guān)于針對(duì)特定類型文件的預(yù)覽庫

如果不使用這種vue-office通用的多文件類型預(yù)覽庫,我們可能需要使用如下這些,關(guān)于針對(duì)特定類型文件的預(yù)覽庫,包括但不限于:TMG28資訊網(wǎng)——每日最新資訊28at.com

  • 預(yù)覽PDF:

pdf.js:是由 Mozilla 開發(fā)的用于在瀏覽器中渲染PDF文件的JavaScript庫。你可以使用它在Vue項(xiàng)目中嵌入PDF預(yù)覽功能。TMG28資訊網(wǎng)——每日最新資訊28at.com

Vue-PDF:是一個(gè)用于在Vue項(xiàng)目中顯示PDF文件的組件。它基于PDF.js構(gòu)建,提供了簡(jiǎn)單易用的API。TMG28資訊網(wǎng)——每日最新資訊28at.com

  • 預(yù)覽Excel:

SheetJS:是一個(gè)強(qiáng)大的用于處理Excel文件的JavaScript庫。你可以使用它在Vue項(xiàng)目中讀取Excel文件并顯示內(nèi)容。TMG28資訊網(wǎng)——每日最新資訊28at.com

  • 預(yù)覽Word:

Mammoth.js:是一個(gè)用于將.docx文件轉(zhuǎn)換為HTML的JavaScript庫。你可以使用它在Vue項(xiàng)目中將Word文檔轉(zhuǎn)換為HTML并顯示。TMG28資訊網(wǎng)——每日最新資訊28at.com

  • 預(yù)覽圖片:

el-image組件:預(yù)覽圖片的需求,用它我覺得一般就足夠了。TMG28資訊網(wǎng)——每日最新資訊28at.com

Viewer.js:是一個(gè)強(qiáng)大的用于在瀏覽器中查看圖片的JavaScript庫。你可以使用它在Vue項(xiàng)目中實(shí)現(xiàn)圖片預(yù)覽功能。TMG28資訊網(wǎng)——每日最新資訊28at.com

Vue Image Viewer:是一個(gè)用于在Vue項(xiàng)目中實(shí)現(xiàn)圖片查看器功能的組件。它支持縮放、旋轉(zhuǎn)等功能。TMG28資訊網(wǎng)——每日最新資訊28at.com

(2)vue-office預(yù)覽word文件使用

安裝依賴:TMG28資訊網(wǎng)——每日最新資訊28at.com

#docx文檔預(yù)覽組件npm install @vue-office/docx vue-demi@0.13.11

如果是vue2.6版本或以下還需要額外安裝 @vue/composition-api。TMG28資訊網(wǎng)——每日最新資訊28at.com

npm install @vue/composition-api/

使用文件的網(wǎng)絡(luò)地址預(yù)覽代碼:TMG28資訊網(wǎng)——每日最新資訊28at.com

<template><vue-office-docx :src="docx"style="height: 100vh;"@rendered="rendered"/></template><script>//引入VueOfficeDocx組件import VueOfficeDocx from '@vue-office/docx'//引入相關(guān)樣式import '@vue-office/docx/lib/index.css'export default {components:{VueOfficeDocx},data(){return {docx: 'http://static.shanhuxueyuan.com/test6.docx' //設(shè)置文檔網(wǎng)絡(luò)地址,可以是相對(duì)地址}},methods:{rendered(){console.log("渲染完成")}}}</script>

使用上傳文件預(yù)覽代碼(讀取文件的ArrayBuffer):TMG28資訊網(wǎng)——每日最新資訊28at.com

<template><div><input type="file" @change="changeHandle"/><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: ''}},methods:{changeHandle(event){let file = event.target.files[0]let fileReader = new FileReader()fileReader.readAsArrayBuffer(file)fileReader.onload = () => {this.src = fileReader.result}}}}</script>

使用接口返回的二進(jìn)制文件預(yù)覽代碼:TMG28資訊網(wǎng)——每日最新資訊28at.com

如果后端給的不是CDN地址,而是一些POST接口,該接口返回二進(jìn)制流,則可以調(diào)用接口獲取文件的ArrayBuffer數(shù)據(jù),傳遞給src屬性。TMG28資訊網(wǎng)——每日最新資訊28at.com

<template><vue-office-docx :src="docx"style="height: 100vh;"@rendered="rendered"/></template><script>//引入VueOfficeDocx組件import VueOfficeDocx from '@vue-office/docx'//引入相關(guān)樣式import '@vue-office/docx/lib/index.css'export default {components:{VueOfficeDocx},data(){return {docx: '' }}, mounted(){fetch('你的API文件地址', {method: 'post'}).then(res=>{//讀取文件的arrayBufferres.arrayBuffer().then(res=>{this.docx = res})})},methods:{rendered(){console.log("渲染完成")}}}</script>

(3)vue-office預(yù)覽excel文件使用

安裝依賴:TMG28資訊網(wǎng)——每日最新資訊28at.com

#excel文檔預(yù)覽組件npm install @vue-office/excel vue-demi@0.13.11

如果是vue2.6版本或以下還需要額外安裝 @vue/composition-api。TMG28資訊網(wǎng)——每日最新資訊28at.com

npm install @vue/composition-api/

使用文件的網(wǎng)絡(luò)地址預(yù)覽代碼、使用上傳文件預(yù)覽代碼、使用接口返回的二進(jìn)制文件預(yù)覽代碼,基本都和word文件預(yù)覽使用相同,只不過需要修改邏輯中對(duì)樣式和組件對(duì)象的引用:TMG28資訊網(wǎng)——每日最新資訊28at.com

//引入VueOfficeExcel組件import VueOfficeExcel from '@vue-office/excel'//引入相關(guān)樣式import '@vue-office/excel/lib/index.css'

(4)vue-office預(yù)覽pdf文件使用

安裝依賴:TMG28資訊網(wǎng)——每日最新資訊28at.com

#pdf文檔預(yù)覽組件npm install @vue-office/pdf vue-demi@0.13.11

如果是vue2.6版本或以下還需要額外安裝 @vue/composition-api。TMG28資訊網(wǎng)——每日最新資訊28at.com

npm install @vue/composition-api/

使用文件的網(wǎng)絡(luò)地址預(yù)覽代碼、使用上傳文件預(yù)覽代碼、使用接口返回的二進(jìn)制文件預(yù)覽代碼,基本都和word文件預(yù)覽使用相同,只不過需要修改邏輯中對(duì)樣式和組件對(duì)象的引用:TMG28資訊網(wǎng)——每日最新資訊28at.com

//引入VueOfficePdf組件import VueOfficePdf from '@vue-office/pdf'

3. 問題詳解

(1)關(guān)于vue-office文檔地址

為了朋友們閱讀到此處時(shí),方便查閱官方文檔學(xué)習(xí)。TMG28資訊網(wǎng)——每日最新資訊28at.com

最后附上,vue-office官方文檔地址:https://github.com/501351981/vue-office。TMG28資訊網(wǎng)——每日最新資訊28at.com

關(guān)于非Vue框架的使用,也請(qǐng)移步參考官方文檔。TMG28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-75310-0.htmlVue2問題:分享一個(gè)通用多文件類型預(yù)覽庫

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: springboot-如何配置線程池實(shí)現(xiàn)定時(shí)任務(wù)

下一篇: 面試必備:四種經(jīng)典限流算法講解

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 主站蜘蛛池模板: 招远市| 奉化市| 巴彦淖尔市| 元氏县| 任丘市| 大名县| 深州市| 库车县| 白朗县| 荆门市| 县级市| 建阳市| 开远市| 陇川县| 五原县| 临泉县| 策勒县| 庆城县| 深州市| 乌恰县| 沙雅县| 四川省| 仁寿县| 河池市| 弥勒县| 连江县| 新巴尔虎右旗| 木里| 门头沟区| 枣强县| 上栗县| 渭南市| 巴塘县| 齐齐哈尔市| 高唐县| 克拉玛依市| 文登市| 宜兴市| 光山县| 永兴县| 尚义县|