为帮助用户更好更快的使用原生插件,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。
pdfReader 封装了一个简单的 pdf 阅读器,支持添加标签、以九宫格形式查看、打印等功能,本原生插件只支持阅读 pdf 格式的文档,本原生插件支持对网络 pdf 文件的阅读,当传入一个网络路径,原生插件内部会先下载文件到本地缓存文件,然后再打开读取。用户再次打开相同路径的网络文件时,则先读取缓存在本地的文件。
在 iOS 平台上本原生插件是封装的 github 上开源的库 --- PDFReader-IOS
在 android 平台上本原生插件封装的开源库是 --- Android-MuPDF
注意:不能同时添加的原生插件:photoSelect
打开一个 pdf 格式的文档
open({params},callback(ret))
path:
hidden:
{
print: , //布尔类型;是否显示菜单按钮;默认:true
export: , //布尔类型;是否显示导出按钮;默认:true
bookmark:, //布尔类型;是否显示书签按钮;默认:true
email: //布尔类型;是否显示邮件按钮;默认:true
}
androidHidden:
{
topBackButton: //布尔类型;返回按钮;默认:true
topListButton: , //布尔类型;是否显示列表按钮;默认:true
topSearchButton: , //布尔类型;搜索按钮;默认:true
bottomProgress:, //布尔类型;是否显示书签按钮;默认:true
}
backBtn:
{
size: { //JSON对象;左上角按钮的大小配置
w: , //数字类型;左上角按钮的宽;默认:60
h: //数字类型;左上角按钮的高;默认:40
},
bg: { //JSON 对象;按钮背景配置
normal: , //字符串类型;常态背景,支持rgb、rgba、#、img(本地图片);默认:rgba(0,0,0,0)
highlight: //字符串类型;高亮背景,支持rgb、rgba、#、img(本地图片);默认:同normal
},
title: { //JSON对象;按钮标题配置
text: , //字符串类型;标题文本;默认:‘’
size: , //数字类型;标题文字大小;默认:13
color: , //字符串类型;标题颜色;默认:#000
alignment: //字符串类型;标题位置,取值范围:left、center、right;默认:center
},
corner: 5 //数字类型;左上角按钮圆角大小;默认值:5.0
}
showLoading:
index:
ret:
{
eventType: 'show' //字符串类型;交互事件类型
//取值范围:
//show(打开文件成功)
//loadFail(下载文件失败)
}
var pdfReader = api.require('pdfReader');
pdfReader.open({
path: 'widget://res/test.pdf',
hidden:{
print: true,
export: true,
bookmark: true,
email: true
}
});
iOS系统,Android系统
可提供的1.0.0及更高版本
打开pdf文档视图 android该接口暂不支持arm64-v8a架构
openView({params},callback(ret))
rect:
{
x: 0, //(可选项)数字类型;原生插件左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
y: 0, //(可选项)数字类型;原生插件左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
w: 320, //(可选项)数字类型;原生插件的宽度;默认:auto
h: 200 //(可选项)数字类型;原生插件的高度;默认:auto
}
path:
fixedOn:
fixed:
showLoading:
index:
ret:
{
eventType: 'show', //字符串类型;交互事件类型
//取值范围:
//show(打开文件成功)
//loadFail(下载失败)
pdfCachePath:'', //字符串类型;文件地址路径,path为网络协议iOS返回,android均返回
totalPage:6, //数字类型;文件总页数,path为网络协议iOS返回,android均返回
index:6 //数字类型;文件当前显示的页数,滑动完成时返回
}
var pdfReader = api.require('pdfReader');
pdfReader.openView({
rect:{
x:0,
y:0,
w:'auto',
h:'auto'
},
path:'http://www.pdf.com/test.pdf',
fixedOn:api.frameName,
fixed:true
},function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
iOS系统,Android系统
可提供的1.0.0及更高版本
隐藏文档视图
hideView({params})
var pdfReader = api.require('pdfReader');
pdfReader.hideView();
iOS系统,Android系统
可提供的1.0.0及更高版本
显示文档视图
showView({params})
var pdfReader = api.require('pdfReader');
pdfReader.showView();
iOS系统,Android系统
可提供的1.0.0及更高版本
关闭文档视图
closeView({params})
var pdfReader = api.require('pdfReader');
pdfReader.closeView();
iOS系统,Android系统
可提供的1.0.0及更高版本
清除缓存到本地的文件,本接口只清除本原生插件缓存的数据,若要清除本app缓存的所有数据这调用api.clearCache
clearCache()
var pdfReader = api.require('pdfReader');
pdfReader.clearCache();
iOS系统,Android系统
可提供的1.0.0及更高版本
打开pdf文档视图,调用此接口为长图显示
openPdfView({params},callback(ret))
rect:
{
x: 0, //(可选项)数字类型;原生插件左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
y: 0, //(可选项)数字类型;原生插件左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
w: 320, //(可选项)数字类型;原生插件的宽度;默认:auto
h: 200 //(可选项)数字类型;原生插件的高度;默认:auto
}
path:
fixedOn:
fixed:
showLoading:
ret:
{
eventType: 'show', //字符串类型;交互事件类型
//取值范围:
//show(打开文件成功)
//loadFail(下载失败)
pdfCachePath:'', //字符串类型;文件地址路径,path为网络协议iOS返回,android均返回
totalPage:6, //数字类型;文件地址路径,path为网络协议iOS返回,android均返回
}
var pdfReader = api.require('pdfReader');
pdfReader.openPdfView({
rect:{
x:0,
y:0,
w:'auto',
h:'auto'
},
path:'http://www.pdf.com/test.pdf',
fixedOn:api.frameName,
fixed:true
},function(ret){
api.alert({
msg: JSON.stringify(ret)
})
});
iOS系统,Android系统
可提供的1.1.3及更高版本
关闭长图pdf试图
closePdfView()
var pdfReader = api.require('pdfReader');
pdfReader.closePdfView();
iOS系统,Android系统
可提供的1.1.3及更高版本
在指定中心点缩放
zoomCenteredTo()
zoom:
center:
{
x: , //数字;中心点的坐标x;
y: , //数字;中心点的坐标y;
}
var pdfReader = api.require('pdfReader');
pdfReader.zoomCenteredTo({
zoom:3,
center:{
x:100,
y:100
}
});
iOS系统,Android系统
可提供的1.1.3及更高版本
为帮助用户更好更快的使用原生插件,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。