您好,登錄后才能下訂單哦!
這篇文章主要介紹了怎么使用vue-pdf插件實現pdf文檔預覽功能的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇怎么使用vue-pdf插件實現pdf文檔預覽功能文章都會有所收獲,下面我們一起來看看吧。
1.多個pdf預覽
2.獲取頁碼,每個pdf文檔實現分頁預覽功能
實現步驟如下:
在根目錄下輸入一下命令:
npm i pdfjs-dist@2.5.207 --save npm i vue-pdf@4.2.0 --save
2.1 template
組件內容如下:
<template> <div class="pdf-preview"> <div class="head"> <div> <el-button @click="last" class="mr10" :disabled="Num == 0"> 上一個</el-button > <el-button @click="next" class="mr10" :disabled="Num == url.length - 1"> 下一個</el-button > <span class="page">{{ Numnow }}/{{ NumA }}</span> </div> <div class="fenye"> <el-button @click="downPDF" class="mr10 down">下載</el-button> </div> </div> <pdf ref="pdf" :src="src" :page="pageNum" @page-loaded="pageLoaded($event)" @num-pages="pageTotalNum = $event" @error="pdfError($event)" @link-clicked="page = $event" > </pdf> <div class="tools"> <div class="fenye"> <el-button @click="prePage" class="mr10"> 上一頁</el-button> <el-button @click="nextPage" class="mr10"> 下一頁</el-button> <span class="page">{{ pageNum }}/{{ pageTotalNum }}</span> </div> </div> </div> </template>
2.2 js
內容如下:
<script> import pdf from 'vue-pdf'; export default { name: 'pdfPreview', props: { url: { default: '', type: Array, }, }, components: { pdf, }, data() { return { src: '', // 預覽地址 pageNum: 1, // 當前頁碼 pageTotalNum: 1, // 總頁數 Num: 0, NumA: 0, //總個數 Numnow: 1, //當前個數 vuePdf: null, }; }, mounted() { // 有時PDF文件地址會出現跨域的情況,這里最好處理一下 this.$nextTick(() => { this.NumA = this.url.length; var url = this.url[this.Num].fileSrc; this.src = pdf.createLoadingTask(url); }); }, methods: { last() { this.Numnow--; this.Num--; var url = this.url[this.Num].fileSrc; this.src = pdf.createLoadingTask(url); }, next() { this.Numnow++; this.Num++; var url = this.url[this.Num].fileSrc; this.src = pdf.createLoadingTask(url); }, // 上一頁函數, prePage() { var page = this.pageNum; page = page > 1 ? page - 1 : this.pageTotalNum; this.pageNum = page; }, // 下一頁函數 nextPage() { var page = this.pageNum; page = page < this.pageTotalNum ? page + 1 : 1; this.pageNum = page; }, // 頁面加載回調函數,其中e為當前頁數 pageLoaded(e) { this.curPageNum = e; }, // 拋出錯誤的回調函數。 pdfError(error) { console.error(error); }, downPDF() { // 下載 pdf var url = this.url[this.Num].fileSrc; var tempLink = document.createElement('a'); tempLink.style.display = 'none'; // tempLink.href = url; window.open(url); tempLink.setAttribute('download', 'XXX.pdf'); if (typeof tempLink.download === 'undefined') { tempLink.setAttribute('target', '_blank'); } document.body.appendChild(tempLink); tempLink.click(); document.body.removeChild(tempLink); }, }, }; </script>
2.3 css
內容如下:
<style lang="scss" scoped> .pdf-preview { .head { margin-bottom: 10px; display: flex; justify-content: space-between; } .tools { display: flex; justify-content: space-between; .fenye { margin-top: 20px; } } .page { margin-left: 10px; } } </style>
3.1 引入pdf預覽組件
import PdfPreview from '@/components/PdfPreview';//路徑根據實際情況調整
3.2 注冊組件
components: {PdfPreview}
3.3 組件的使用
<PdfPreview :url="specificationFiles"></PdfPreview>
上面中的url
的參數內容如下:
specificationFiles:[ {fileName:'產品手冊1',fileSrc:'xxxx'}, {fileName:'產品手冊2',fileSrc:'xxxx'}, ]
關于“怎么使用vue-pdf插件實現pdf文檔預覽功能”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“怎么使用vue-pdf插件實現pdf文檔預覽功能”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。