vue-pdf 踩坑

使用vue-pdf組件實(shí)現(xiàn)文件預(yù)覽功能 并在文件上增加操作按鈕

vue3不支持vue-pdf,vue3項(xiàng)目用pdfjs-dist

安裝依賴

npm i pdfjs-dist@2.5.207 --save

npm i vue-pdf@4.2.0 --save


引入組件

import pdf from 'vue-pdf'

export default {

? name: 'App',

? components: {

? ? pdf

? },

? ···

}


html使用

<pdf v-for="i in pageNum" :key="i" :src="file" :page="i"></pdf>

export default {

? ···

? data () {

? ? return {

? ? ? file: "/pdf/test.pdf",

? ? ? pageNum: undefined

? ? }

? },

? methods: {

? ? getPageNum () {

? ? ? let loadingTask = pdf.createLoadingTask(this.file)

? ? ? loadingTask.promise.then(pdf => {

? ? ? ? this.pageNum = pdf.numPages

? ? ? }).catch(err => {

? ? ? ? console.error('pdf加載失敗', err);

? ? ? })

? ? }

? },

? mounted () {

? ? this.getPageNum()

? }

}

報(bào)錯(cuò)解決

這種情況是pdf還沒加載出來就去渲染導(dǎo)致頁面pageNum找不到,調(diào)用接口加載完成后再去渲染pageNum

報(bào)這個(gè)錯(cuò)誤加上??{withCredentials: false} ,報(bào)錯(cuò)就沒有了

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容