亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

uni-app在線預覽pdf文件的方法教程

 更新時間:2024年10月26日 15:06:44   作者:家里有只小肥貓  
這篇文章主要介紹了uni-app在線預覽pdf文件的相關資料,本文主要介紹了如何在Vue項目中使用PDF.js插件進行PDF文件的預覽,包括插件的下載、版本兼容問題的處理,以及在static文件夾下新建pdf文件夾存放解壓文件,需要的朋友可以參考下

這里推薦下載pdf.js 插件

PDF.js - Browse Files at SourceForge.net

特此注意 如果報 Promise.withResolvers is not a function 請去查看版本兼容問題  

降低pdf.js版本

提高node版本

下載完成后 在  static  文件夾下新建  pdf  文件夾,將解壓文件放進  pdf  文件夾下

在當前需要預覽的vue頁面中,先將文件鏈接下載為本地文件,代碼如下

小tips 這里如果是超鏈接的形式 可以直接跳轉 不需要再去下載 (因為客戶需要在線看 而不是先下載)

openPdf(url) {
    uni.downloadFile({
		//需要預覽的文件地址
		url: url,
		success: (res) => {
			if (res.statusCode === 200) {
				//下載成功,得到文件臨時地址
				console.log('下載成功', res.tempFilePath);

				//條件編譯,若為h5端則直接賦值文件地址			
				// #ifdef H5
				let newUrl = res.tempFilePath
				// #endif

				//條件編譯,若為App端,則需要將本地文件系統(tǒng)URL轉換為平臺絕對路徑	
				// #ifdef APP-PLUS
				let newUrl = plus.io.convertLocalFileSystemURL(res.tempFilePath)
				// #endif

				//這里新建一個vue頁面,跳轉并預覽pdf文檔
				uni.navigateTo({
					url: "/pages/previewArea/PdfPreview?url=" + url,
				})
			}
		}
	})
}

這是新建的vue頁面,用于web-view預覽pdf文件,代碼如下

<template>
  <view>
    <!-- 全局pdf查看器 -->
    <web-view :src="path"></web-view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      viewerUrl: "/static/pdf/-pdf--master/hybrid/pdf.html",
      path: "",
	  fileUrl: "",
    }
  },
  onLoad(options) {
    this.fileUrl = options.url;
  },

	onShow() {
    //進行拼接即可
    this.path = `${this.viewerUrl}?url=${this.fileUrl}`
  }
}
</script>

可以直接跳轉顯示

static/pdf/-pdf--master/hybrid/pdf.html 這個頁面 可以自定義添加下載按鈕

<body>
	<div>
		<div id="pdf-view"></div>
		<div class="down" id="downPdf">下載</div>
	</div>

    <script src="html/pdf/pdf.js"></script>
	<script src="html/pdf/pdf.worker.js"></script>
	<script src="html/pdf/jquery-1.11.3.min.js" type="text/javascript" charset="utf-8">    
    </script>
	<script src="html/pdf/pdfh5.js" type="text/javascript" charset="utf-8"></script>


	<script type="text/javascript">

        xxxx

        xxx


        // 點擊調(diào)用下載
		let downPdf = document.getElementById("downPdf");
        document.getElementById("downPdf").addEventListener("click", async function (event) {
			event.preventDefault();
			try {
				var downloadLink = document.createElement('a');
				downloadLink.href = url; // 這里的url應該是你的PDF文件的URL
				downloadLink.download = url.split("/").pop()// 設置下載后的文件名
				downloadLink.style.display = 'none';
				document.body.appendChild(downloadLink);
				downloadLink.click();
				document.body.removeChild(downloadLink);
			} catch (error) {
				console.log('error',error);
			}
	</script>
</body>

校驗是否是pdf文件

let regPdf = /\.(pdf)$/.test(data.toLowerCase())  是否pdf文件

let regImg = /\.(jpg|jpeg|png|gif)$/.test(data.toLowerCase())  是否圖片文件

let regDoc = /\.(doc|docx)$/.test(data.toLowerCase())  是否doc 或者 docx文件

總結 

到此這篇關于uni-app在線預覽pdf文件的文章就介紹到這了,更多相關uni-app在線預覽pdf內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Vue前端左側菜單右側內(nèi)容的網(wǎng)站界面制作過程

    Vue前端左側菜單右側內(nèi)容的網(wǎng)站界面制作過程

    這篇文章主要介紹了使用Vue和ElementUI制作一個帶有左側菜單和右側內(nèi)容區(qū)的網(wǎng)站頁面的過程,文中通過CSS樣式和深度作用符,實現(xiàn)了頁面的美化和功能的完善,需要的朋友可以參考下
    2025-02-02
  • 使用vue.js實現(xiàn)聯(lián)動效果的示例代碼

    使用vue.js實現(xiàn)聯(lián)動效果的示例代碼

    本篇文章主要介紹了使用vue.js實現(xiàn)聯(lián)動效果的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • 基于vue-cli 打包時抽離項目相關配置文件詳解

    基于vue-cli 打包時抽離項目相關配置文件詳解

    下面小編就為大家分享一篇基于vue-cli 打包時抽離項目相關配置文件詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • vue項目使用cmd運行方式

    vue項目使用cmd運行方式

    在開發(fā)過程中,啟動項目是必不可少的一步,本文介紹了兩種啟動項目的方法,第一種方法是通過命令提示符(cmd)進入項目目錄,然后輸入npm run serve來啟動項目,第二種方法是直接在項目目錄下打開命令提示符(cmd),輸入npm run serve即可啟動項目
    2024-10-10
  • 關于vue3?解決getCurrentInstance?打包后線上環(huán)境報錯問題

    關于vue3?解決getCurrentInstance?打包后線上環(huán)境報錯問題

    這篇文章主要介紹了vue3?解決getCurrentInstance?打包后線上環(huán)境報錯問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • Vue+Openlayers實現(xiàn)實時坐標點展示

    Vue+Openlayers實現(xiàn)實時坐標點展示

    這篇文章主要為大家詳細介紹了Vue+Openlayers實現(xiàn)實時坐標點展示,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue中的計算屬性實例詳解

    vue中的計算屬性實例詳解

    模板內(nèi)的表達式非常便利,但是設計它們的初衷是用于簡單運算的。接下來通過本文給大家介紹vue中的計算屬性,需要的朋友可以參考下
    2018-09-09
  • vue配置多頁面的實現(xiàn)方法

    vue配置多頁面的實現(xiàn)方法

    本篇文章主要介紹了vue配置多頁面的實現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • flask和vue前后端分離項目部署的示例代碼

    flask和vue前后端分離項目部署的示例代碼

    本文主要介紹了flask和vue前后端分離項目部署的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 淺談Vue初學之props的駝峰命名

    淺談Vue初學之props的駝峰命名

    這篇文章主要介紹了淺談Vue初學之props的駝峰命名,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07

最新評論