pdfReader
open openView hideView showView closeView clearCache openPdfView closePdfView
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。
概述
pdfReader 封装了一个简单的 pdf 阅读器,支持添加标签、以九宫格形式查看、打印等功能,本模块只支持阅读 pdf 格式的文档,本模块支持对网络 pdf 文件的阅读,当传入一个网络路径,模块内部会先下载文件到本地缓存文件,然后再打开读取。用户再次打开相同路径的网络文件时,则先读取缓存在本地的文件。
在 iOS 平台上本模块是封装的 github 上开源的库 —- PDFReader-IOS
在 android 平台上本模块封装的开源库是 —- Android-MuPDF
注意:不能同时添加的模块:photoSelect
open
打开一个 pdf 格式的文档
open({params},callback(ret))
params
path:
- 类型:字符串
- 描述:文档的路径,支持 widget://、fs://、http:// 等本地和网络协议
- 注意:对于网络资源模块会先下载完成然后再打开,开发者可通过clearCache接口清除下载到本地的文件
hidden:
- 类型:JSON 对象
- 描述:界面元素的隐藏显示属性配置,仅支持 iOS 平台
- 内部字段:
{
print: , //布尔类型;是否显示菜单按钮;默认:true
export: , //布尔类型;是否显示导出按钮;默认:true
bookmark:, //布尔类型;是否显示书签按钮;默认:true
email: //布尔类型;是否显示邮件按钮;默认:true
}
androidHidden:
- 类型:JSON 对象 (模块版本:1.1.6+ 不再支持该参数)
- 描述:(可选项)界面元素的隐藏显示属性配置,仅支持 Android 平台
- 内部字段:
{
topBackButton: //布尔类型;返回按钮;默认:true
topListButton: , //布尔类型;是否显示列表按钮;默认:true
topSearchButton: , //布尔类型;搜索按钮;默认:true
bottomProgress:, //布尔类型;是否显示书签按钮;默认:true
}
backBtn:
- 类型:JSON 对象 (模块版本:1.1.6+ 不再支持该参数)
- 描述:(可选项)返回按钮配置,若不传,则显示默认按钮
- 内部字段:
{
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:
- 类型:布尔
- 描述:(可选项)未成功打开文件之前是否显示加载提示框
- 默认值:true
index:
- 类型:数字
- 描述:(可选项)打开指定页的页码,从1开始
- 默认值:1
callback(ret, err)
ret:
- 类型:JSON 对象
- 内部字段:
{
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及更高版本
openView
打开pdf文档视图
openView({params},callback(ret))
params
rect:
- 类型:JSON 对象
- 描述:(可选项)模块的位置及尺寸
- 内部字段:
{
x: 0, //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
y: 0, //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
w: 320, //(可选项)数字类型;模块的宽度;默认:auto
h: 200 //(可选项)数字类型;模块的高度;默认:auto
}
path:
- 类型:字符串
- 描述:文档的路径,支持 widget://、fs://、http:// 等本地和网络协议
- 注意:对于网络资源模块会先下载完成然后再打开,开发者可通过clearCache接口清除下载到本地的文件
fixedOn:
- 类型:字符串类型
- 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
- 默认:模块依附于当前 window
fixed:
- 类型:布尔
- 描述:(可选项)模块是否随所属 window 或 frame 滚动
- 默认值:true(不随之滚动)
showLoading:
- 类型:布尔
- 描述:(可选项)未成功打开文件之前是否显示加载提示框
- 默认值:true
index:
- 类型:数字
- 描述:(可选项)打开指定页的页码,从1开始
- 默认值:1
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
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){
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
hideView
隐藏文档视图
hideView({params})
示例代码
var pdfReader = api.require('pdfReader');
pdfReader.hideView();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
showView
显示文档视图
showView({params})
示例代码
var pdfReader = api.require('pdfReader');
pdfReader.showView();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
closeView
关闭文档视图
closeView({params})
示例代码
var pdfReader = api.require('pdfReader');
pdfReader.closeView();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
clearCache
清除缓存到本地的文件,本接口只清除本模块缓存的数据,若要清除本app缓存的所有数据这调用api.clearCache
clearCache()
示例代码
var pdfReader = api.require('pdfReader');
pdfReader.clearCache();
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
openPdfView
打开pdf文档视图,调用此接口为长图显示
openPdfView({params},callback(ret))
params
rect:
- 类型:JSON 对象
- 描述:(可选项)模块的位置及尺寸
- 内部字段:
{
x: 0, //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
y: 0, //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
w: 320, //(可选项)数字类型;模块的宽度;默认:auto
h: 200 //(可选项)数字类型;模块的高度;默认:auto
}
path:
- 类型:字符串
- 描述:文档的路径,支持 widget://、fs://、http:// 等本地和网络协议
- 注意:对于网络资源模块会先下载完成然后再打开,开发者可通过clearCache接口清除下载到本地的文件
fixedOn:
- 类型:字符串类型
- 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
- 默认:模块依附于当前 window
fixed:
- 类型:布尔
- 描述:(可选项)模块是否随所属 window 或 frame 滚动
- 默认值:true(不随之滚动)
showLoading:
- 类型:布尔
- 描述:(可选项)未成功打开文件之前是否显示加载提示框
- 默认值:true
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
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){
alert(JSON.stringify(ret));
});
可用性
iOS系统,Android系统
可提供的1.1.3及更高版本
closePdfView
关闭长图pdf试图
closePdfView()
示例代码
var pdfReader = api.require('pdfReader');
pdfReader.closePdfView();
可用性
iOS系统,Android系统
可提供的1.1.3及更高版本
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。