成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Vue2問題:分享一個通用多文件類型預覽庫

開發 前端
Vue-office,一個支持多種文件Docx、Excel、Pdf預覽的Vue組件庫,作者hit757。這個庫不僅能支持vue2/3,也支持非Vue框架的預覽使用。

1. 需求分析

當我們在做文件預覽功能時,往往會遇到一種糟糕的情況。

就是每預覽一種類型的文件,就需要重新安裝、配置、編寫一個新的庫來實現,很麻煩,也很繁瑣。

于是,我尋找了一個可以通用的預覽庫,來處理這個問題。

vue-office,一個支持多種文件docx、excel、pdf預覽的vue組件庫,作者hit757。這個庫不僅能支持vue2/3,也支持非Vue框架的預覽使用。

先看一下線上演示效果,如果實現效果與項目使用不符,為節約朋友們時間,可自行選擇是否向下閱讀。演示地址:https://501351981.github.io/vue-office/examples/dist/#/docx。

如果朋友們覺得能用,就繼續往下面看看它的實現。

2. 實現步驟

(1)關于針對特定類型文件的預覽庫

如果不使用這種vue-office通用的多文件類型預覽庫,我們可能需要使用如下這些,關于針對特定類型文件的預覽庫,包括但不限于:

  • 預覽PDF:

pdf.js:是由 Mozilla 開發的用于在瀏覽器中渲染PDF文件的JavaScript庫。你可以使用它在Vue項目中嵌入PDF預覽功能。

Vue-PDF:是一個用于在Vue項目中顯示PDF文件的組件。它基于PDF.js構建,提供了簡單易用的API。

  • 預覽Excel:

SheetJS:是一個強大的用于處理Excel文件的JavaScript庫。你可以使用它在Vue項目中讀取Excel文件并顯示內容。

  • 預覽Word:

Mammoth.js:是一個用于將.docx文件轉換為HTML的JavaScript庫。你可以使用它在Vue項目中將Word文檔轉換為HTML并顯示。

  • 預覽圖片:

el-image組件:預覽圖片的需求,用它我覺得一般就足夠了。

Viewer.js:是一個強大的用于在瀏覽器中查看圖片的JavaScript庫。你可以使用它在Vue項目中實現圖片預覽功能。

Vue Image Viewer:是一個用于在Vue項目中實現圖片查看器功能的組件。它支持縮放、旋轉等功能。

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

安裝依賴:

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

如果是vue2.6版本或以下還需要額外安裝 @vue/composition-api。

npm install @vue/composition-api/

使用文件的網絡地址預覽代碼:

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

<script>
//引入VueOfficeDocx組件
import VueOfficeDocx from '@vue-office/docx'
//引入相關樣式
import '@vue-office/docx/lib/index.css'

export default {
components:{
VueOfficeDocx
},
data(){
return {
docx: 'http://static.shanhuxueyuan.com/test6.docx' //設置文檔網絡地址,可以是相對地址
}
},
methods:{
rendered(){
console.log("渲染完成")
}
}
}
</script>

使用上傳文件預覽代碼(讀取文件的ArrayBuffer):

<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>

使用接口返回的二進制文件預覽代碼:

如果后端給的不是CDN地址,而是一些POST接口,該接口返回二進制流,則可以調用接口獲取文件的ArrayBuffer數據,傳遞給src屬性。

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

<script>
//引入VueOfficeDocx組件
import VueOfficeDocx from '@vue-office/docx'
//引入相關樣式
import '@vue-office/docx/lib/index.css'

export default {
components:{
VueOfficeDocx
},
data(){
return {
docx: '' 
}
}, 
mounted(){
fetch('你的API文件地址', {
method: 'post'
}).then(res=>{
//讀取文件的arrayBuffer
res.arrayBuffer().then(res=>{
this.docx = res
})
})
},
methods:{
rendered(){
console.log("渲染完成")
}
}
}
</script>

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

安裝依賴:

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

如果是vue2.6版本或以下還需要額外安裝 @vue/composition-api。

npm install @vue/composition-api/

使用文件的網絡地址預覽代碼、使用上傳文件預覽代碼、使用接口返回的二進制文件預覽代碼,基本都和word文件預覽使用相同,只不過需要修改邏輯中對樣式和組件對象的引用:

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

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

安裝依賴:

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

如果是vue2.6版本或以下還需要額外安裝 @vue/composition-api。

npm install @vue/composition-api/

使用文件的網絡地址預覽代碼、使用上傳文件預覽代碼、使用接口返回的二進制文件預覽代碼,基本都和word文件預覽使用相同,只不過需要修改邏輯中對樣式和組件對象的引用:

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

3. 問題詳解

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

為了朋友們閱讀到此處時,方便查閱官方文檔學習。

最后附上,vue-office官方文檔地址:https://github.com/501351981/vue-office。

關于非Vue框架的使用,也請移步參考官方文檔。

責任編輯:姜華 來源: 今日頭條
相關推薦

2022-07-18 10:43:12

項目TienChinJava

2024-09-13 08:53:10

2024-03-01 08:38:34

WebpackVue2sass

2023-11-28 14:22:54

Python音頻

2024-02-07 08:52:07

VueUI 庫Vue.js

2024-03-15 11:47:19

Vue2前端權限控制

2025-01-26 13:27:23

2010-01-05 15:32:33

2010-03-01 15:34:38

Linux文件類型

2010-03-10 09:27:36

Linux鏈接文件類型

2021-08-08 21:17:18

管理配置平臺

2023-01-18 07:49:42

2023-10-06 11:48:37

reactvuenodejs

2024-03-21 08:50:33

HTMLURL預覽應用軟件

2014-07-08 09:27:24

SQLSERVER腳本

2023-11-19 18:53:27

Vue2MVVM

2021-03-22 10:05:25

開源技術 項目

2016-10-19 20:47:55

vuevue-cli移動端

2020-09-25 07:40:39

技術開發選型

2010-01-12 11:37:06

Linux常見文件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲成人国产精品 | 精品欧美二区 | 久久久www | 欧美精品一级 | 国产高清视频在线观看 | 羞羞涩涩在线观看 | 亚洲精品福利视频 | 国产视频一区二区三区四区五区 | 久久99深爱久久99精品 | 欧美黄色大片在线观看 | 亚洲一区二区网站 | 伊人久久大香线 | 黄色一级大片在线免费看产 | 波多野结衣中文字幕一区二区三区 | 午夜精品一区二区三区在线观看 | av网站免费观看 | 亚洲高清视频在线观看 | 国产一二三区精品视频 | 亚洲国产欧美一区二区三区久久 | 国产亚洲欧美另类一区二区三区 | 国产精品久久国产精品99 gif | 欧美成人精品激情在线观看 | 91丨国产| 久久精品国产亚洲 | 国产精品久久久久久吹潮 | 亚洲成av人影片在线观看 | 久热精品在线 | 999精彩视频| 欧美日韩国产一区二区三区 | 久久中文字幕av | 久久成人免费视频 | 成人三级视频 | 在线观看视频一区 | 精品久久一区 | www成人免费视频 | 国产精品久久国产精品 | 国产免费一区二区 | 日韩一区二区三区在线 | 亚洲女优在线播放 | 五月天婷婷狠狠 | a毛片|