Skip to content

LimePdf PDF预览

  • UTS 原生PDF预览器,支持本地和网络pdf等功能,兼容uniappx(安卓,ios)

安装

插件市场入口 导入,引入插件标签后,自定义基座后使用

代码演示

基础使用

通过url可以设置pdf的路径,支持网络或本地。

html
<l-pdf 
	ref="pdfRef"
	url="/static/shareSDK.pdf"  
	@load="load"
	@fail="fail"
	@pageChanged="pageChanged"
	style="height:500px;width: 100%;">
</l-pdf>
<button @click="onClick">跳转指指定页面</button>
js
// 组合式
const pdfRef = ref<LPdfComponentPublicInstance|null>(null)

const load = (info: UTSJSONObject)=>{
	// INFO 包含 页数,作者,标题,目录等
	console.log('info', info)
}

const fail = (err: UTSJSONObject)=>{
	// 发生错误时
	console.log('err', err)
}
const pageChanged = (info: UTSJSONObject)=> {
	// 切换页面时 
	console.log('pageChanged', info)
}
const onClick = ()=> {
	// 跳转到指定页面
	pdfRef.value?.jumpTo(3)
}

Render

html
<l-pdf 
	ref="pdfRef"
	@load="load"
	@fail="fail"
	@pageChanged="pageChanged"
	style="height:500px;width: 100%;">
</l-pdf>
<button @click="render">render</button>
js
// 选项式
export default {
	data() {
		return {
			
		}
	},
	methods: {
		load(info: UTSJSONObject) {
			// INFO 包含 页数,作者,标题,目录等
			console.log('info', info)
		},
		fail(err: UTSJSONObject) {
			// 发生错误时
			console.log('err', err)
		},
		pageChanged(info: UTSJSONObject) {
			// 切换页面时
			console.log('pageChanged', info)
		},
		render() {
			// 调用渲染函数
			(this.$refs['pdfRef'] as LPdfComponentPublicInstance | null)?.render?.(
				"/static/shareSDK.pdf", // pdf 路径
				0, // 默认页面 
				false, //是否允许水平滑动切换页面,false(垂直滑动)
				'password'//如果pdf有密码可选填
			)
		}
	}
}

API

Props

参数说明类型默认值
urlPDF地址,支持本地、网络string-
page当前页面string-
swipeHorizontal是否允许水平滑动切换页面,false(垂直滑动)booleanfalse
passwordPDF密码,如果有的话string``
scrollView是否内部使用scrollView滚动,只对安卓有较booleanfalse

Events

事件名说明回调参数
load加载成功时info: {page,pageCount,category,meta}
fail加载失败时err: {errMsg}
pageChanged页面切换时info: {page, pageCount}

源代码

组件源码