最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue3使用pdf.js來預(yù)覽文件的操作步驟(本地文件測試)

 更新時間:2024年05月09日 15:44:48   作者:小同學(xué)L  
這篇文章主要介紹了vue3使用pdf.js來預(yù)覽文件的操作步驟(本地文件測試),文中通過代碼示例和圖文結(jié)合的方式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下

1.下載pdf.js庫      

下載地址

下載后的文件解壓結(jié)構(gòu)是這樣的

2. 放入項目中

在vue3中public文件夾下新建 lib/pdfjs 文件 , 將解壓后的文件放入pdfjs文件夾下

3.新建PDF組件

在src/components新建PDF.vue組件

<template>
    <iframe :src="src" width="100%" :web.xmlheight="pdfH" style="width: 100%; height: 90%"></iframe>
</template>
<script setup lang='ts'>
import { ref, nextTick, computed, onMounted } from 'vue'
const props = defineProps({
    src: {
        type: String,
        required: true
    }
})
 
let src = computed(() => {
    // vue3的話 路徑上不需要寫public
    // 如果是vue2的話 要寫public ->  return `/public/lib/pdfjs/web/viewer.html?file=${props.src}`
    // 我這里是本地文件測試(props.src是本地文件,必須將這個文件放在public/lib/pdfjs/web下面才行)
    return `/lib/pdfjs/web/viewer.html?file=${props.src}`
})
let pdfH = ref(100)
nextTick(() => {
    pdfH.value = document.documentElement.clientHeight - 68
})
onMounted(() => {
})
</script>

4.在HomeView.vue文件中使用PDF.vue

這里我使用了   打開新頁面預(yù)覽和彈窗預(yù)覽  兩種方式來預(yù)覽

<script setup lang="ts">
import { ref } from 'vue';
import PDF from '@/components/PDF.vue'
let dySrc = ref('')
const dialogVisible = ref(false)
//? 打開新頁面預(yù)覽
const showPDF = async () => {
    dySrc.value = '/lib/pdfjs/web/測試.pdf'
    //替換為實際的文檔URL
    const pdfUrl = `lib/pdfjs/web/viewer.html?file=${dySrc.value}`;
    //pdfUrl是當(dāng)前頁面的pdf文件的URL,第二個參數(shù)'_blank'表示在新窗口中打開。
    window.open(pdfUrl, '_blank');
}
//?在彈框中顯示
const showDialogPDF = () => {
    dialogVisible.value = true
    dySrc.value = '/lib/pdfjs/web/測試.pdf'
}
</script>
<template>
    <div>
        文件名(新頁面打開預(yù)覽):
        <span @click="showPDF" style="color:rgb(0,174,236);cursor: pointer;">xxx.pdf</span>
    </div>
    <div>
        文件名(彈窗打開預(yù)覽):
        <span @click="showDialogPDF" style="color:rgb(0,174,236);cursor: pointer;">xxx.pdf</span>
    </div>
    <el-dialog v-model="dialogVisible" title="預(yù)覽pdf">
        <p-d-f :src="dySrc"></p-d-f>
    </el-dialog>
</template>
<style>
.el-dialog {
    width: 1000px;
    height: 800px;
}
 
.el-dialog__body {
    height: 100%;
}
</style>

注意:

本地文件測試 必須將pdf文件放在public/lib/pdfjs/web下面才行

5.跨域問題

如果出現(xiàn)跨域問題,將  viewer.js文件中的以下代碼注釋掉就可以了

    // if (fileOrigin !== viewerOrigin) {
      //   throw new Error("file origin does not match viewer's");
      // }

6.總結(jié)

到此這篇關(guān)于vue3使用pdf.js來預(yù)覽文件的操作步驟(本地文件測試)的文章就介紹到這了,更多相關(guān)vue3 pdf.js預(yù)覽文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue3 Element Plus el-form表單組件示例詳解

    Vue3 Element Plus el-form表單組件示例詳解

    這篇文章主要介紹了Vue3 Element Plus el-form表單組件,Element Plus 是 ElementUI 的升級版,提供了更多的表單控件和功能,同時還改進了一些細(xì)節(jié)和樣式,本文結(jié)合示例代碼給大家詳細(xì)講解,需要的朋友可以參考下
    2023-04-04
  • vue中三種插槽(默認(rèn)插槽/具名插槽/作用域插槽)的區(qū)別詳解

    vue中三種插槽(默認(rèn)插槽/具名插槽/作用域插槽)的區(qū)別詳解

    默認(rèn)插槽,具名插槽,作用域插槽是vue中常用的三個插槽,這篇文章主要為大家介紹了這三種插槽的使用與區(qū)別,感興趣的小伙伴可以了解一下
    2023-08-08
  • Vue全局事件總線和訂閱與發(fā)布使用案例分析講解

    Vue全局事件總線和訂閱與發(fā)布使用案例分析講解

    在?vue?里我們可以通過全局事件總線來實現(xiàn)任意組件之間通信,它的原理是給?Vue?的原型對象上面添加一個屬性。這樣的話我所有組件的都可以訪問到這個屬性,然后可以通過這個屬性來訪問其他組件給這個屬性上面綁定的一些方法,從而去傳遞數(shù)據(jù)
    2022-08-08
  • 深度解析?Vue3?的響應(yīng)式機制

    深度解析?Vue3?的響應(yīng)式機制

    這篇文章主要介紹了深度解析?Vue3?的響應(yīng)式機制,今天就帶大家深入了解一下 Vue 3 的響應(yīng)式機制,相信學(xué)完今天的內(nèi)容,會對響應(yīng)式機制有更深地體會;文章會結(jié)合代碼示例,幫大家掌握響應(yīng)式機制的進階用法,讓我們正式開始學(xué)習(xí)吧
    2022-09-09
  • Vue實現(xiàn)Tab標(biāo)簽路由效果并用Animate.css做轉(zhuǎn)場動畫效果的代碼

    Vue實現(xiàn)Tab標(biāo)簽路由效果并用Animate.css做轉(zhuǎn)場動畫效果的代碼

    這篇文章主要介紹了Vue實現(xiàn)Tab標(biāo)簽路由效果,并用Animate.css做轉(zhuǎn)場動畫效果,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • Vue2.0利用 v-model 實現(xiàn)組件props雙向綁定的優(yōu)美解決方案

    Vue2.0利用 v-model 實現(xiàn)組件props雙向綁定的優(yōu)美解決方案

    本篇文章主要介紹了Vue2 利用 v-model 實現(xiàn)組件props雙向綁定的優(yōu)美解決方案,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-03-03
  • Vue中Element的table多選表格如何實現(xiàn)單選

    Vue中Element的table多選表格如何實現(xiàn)單選

    這篇文章主要介紹了Vue中Element的table多選表格如何實現(xiàn)單選,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Vue中關(guān)于computed計算屬性的妙用

    Vue中關(guān)于computed計算屬性的妙用

    這篇文章主要介紹了Vue中關(guān)于computed計算屬性的妙用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • vue項目實現(xiàn)對某個區(qū)域繪制水印

    vue項目實現(xiàn)對某個區(qū)域繪制水印

    這篇文章主要為大家詳細(xì)介紹了vue項目實現(xiàn)對某個區(qū)域繪制水印,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 使用Vite2+Vue3渲染Markdown文檔的方法實踐

    使用Vite2+Vue3渲染Markdown文檔的方法實踐

    本文主要介紹了Vite2+Vue3渲染Markdown文檔的方法實踐,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的可以了解一下
    2021-08-08

最新評論

桦甸市| 河西区| 株洲市| 房山区| 平果县| 永寿县| 稻城县| 左权县| 大埔县| 抚顺县| 汝南县| 咸宁市| 郑州市| 右玉县| 台中市| 监利县| 哈密市| 彰化市| 余江县| 太原市| 阳泉市| 贵州省| 永修县| 内江市| 新乐市| 嵊泗县| 渭南市| 陈巴尔虎旗| 葫芦岛市| 靖江市| 城固县| 噶尔县| 信宜市| 朝阳市| 北碚区| 柞水县| 罗山县| 巴彦淖尔市| 余庆县| 南江县| 衡水市|