uniapp h5在线预览base64格式pdf

uniapp h5在线预览base64格式pdf

下载pdf.js插件 https://mozilla.github.io/pdf.js/getting_started/#download

我下载的是第二个
在这里插入图片描述将下载的插件文件放在static目录下

页面中实现代码

<template>
	<view>
		<web-view :src="src"></web-view>
	</view>
</template>
export default{
	data() {
		return{
			viewerUrl:'/static/hybrid/web/viewer.html',
			src:'', // 最终的pdf路径
		}
	},
	onLoad(){
		this.getPdfBase64()
	},
	methods:{
		getPdfBase64() {
			let url= ... // 获取接口返回的base64
			// base64转换成blob
			this.base64ToBlob(url)
		},
		base64ToBlob(url) {
			let str = atob(url)
			let length = str.length
			const u8arr = new Uint8Array(length)
			while(length--) {
				u8arr[length] = str.charCodeAt(length)
			}
			const blob = new Blob([u8arr], {
				type: 'application/pdf'
			})
			// 将blob对象转换成url链接
			const urlObject = window.URL || window.webkitURL || window
			let pdfUrl = urlObject.createObjectURL(blob)
			this.src = this.viewerUrl + '?file=' + encodeURLComponent(pdfUrl)
		},
	}
}

温馨提示:

在本地运行如果报错,可部署到测试环境或者生产环境即可~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值