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 平台
  • 内部字段:
  1. {
  2. print: , //布尔类型;是否显示菜单按钮;默认:true
  3. export: , //布尔类型;是否显示导出按钮;默认:true
  4. bookmark:, //布尔类型;是否显示书签按钮;默认:true
  5. email: //布尔类型;是否显示邮件按钮;默认:true
  6. }

androidHidden:

  • 类型:JSON 对象 (模块版本:1.1.6+ 不再支持该参数)
  • 描述:(可选项)界面元素的隐藏显示属性配置,仅支持 Android 平台
  • 内部字段:
  1. {
  2. topBackButton: //布尔类型;返回按钮;默认:true
  3. topListButton: , //布尔类型;是否显示列表按钮;默认:true
  4. topSearchButton: , //布尔类型;搜索按钮;默认:true
  5. bottomProgress:, //布尔类型;是否显示书签按钮;默认:true
  6. }

backBtn:

  • 类型:JSON 对象 (模块版本:1.1.6+ 不再支持该参数)
  • 描述:(可选项)返回按钮配置,若不传,则显示默认按钮
  • 内部字段:
  1. {
  2. size: { //JSON对象;左上角按钮的大小配置
  3. w: , //数字类型;左上角按钮的宽;默认:60
  4. h: //数字类型;左上角按钮的高;默认:40
  5. },
  6. bg: { //JSON 对象;按钮背景配置
  7. normal: , //字符串类型;常态背景,支持rgb、rgba、#、img(本地图片);默认:rgba(0,0,0,0)
  8. highlight: //字符串类型;高亮背景,支持rgb、rgba、#、img(本地图片);默认:同normal
  9. },
  10. title: { //JSON对象;按钮标题配置
  11. text: , //字符串类型;标题文本;默认:‘’
  12. size: , //数字类型;标题文字大小;默认:13
  13. color: , //字符串类型;标题颜色;默认:#000
  14. alignment: //字符串类型;标题位置,取值范围:left、center、right;默认:center
  15. },
  16. corner: 5 //数字类型;左上角按钮圆角大小;默认值:5.0
  17. }

showLoading:

  • 类型:布尔
  • 描述:(可选项)未成功打开文件之前是否显示加载提示框
  • 默认值:true

index:

  • 类型:数字
  • 描述:(可选项)打开指定页的页码,从1开始
  • 默认值:1

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. eventType: 'show' //字符串类型;交互事件类型
  3. //取值范围:
  4. //show(打开文件成功)
  5. //loadFail(下载文件失败)
  6. }

示例代码

  1. var pdfReader = api.require('pdfReader');
  2. pdfReader.open({
  3. path: 'widget://res/test.pdf',
  4. hidden:{
  5. print: true,
  6. export: true,
  7. bookmark: true,
  8. email: true
  9. }
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openView

打开pdf文档视图

openView({params},callback(ret))

params

rect:

  • 类型:JSON 对象
  • 描述:(可选项)模块的位置及尺寸
  • 内部字段:
  1. {
  2. x: 0, //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
  3. y: 0, //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
  4. w: 320, //(可选项)数字类型;模块的宽度;默认:auto
  5. h: 200 //(可选项)数字类型;模块的高度;默认:auto
  6. }

path:

  • 类型:字符串
  • 描述:文档的路径,支持 widget://、fs://、http:// 等本地和网络协议
  • 注意:对于网络资源模块会先下载完成然后再打开,开发者可通过clearCache接口清除下载到本地的文件

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:模块依附于当前 window

fixed:

  • 类型:布尔
  • 描述:(可选项)模块是否随所属 window 或 frame 滚动
  • 默认值:true(不随之滚动)

showLoading:

  • 类型:布尔
  • 描述:(可选项)未成功打开文件之前是否显示加载提示框
  • 默认值:true

index:

  • 类型:数字
  • 描述:(可选项)打开指定页的页码,从1开始
  • 默认值:1

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. eventType: 'show', //字符串类型;交互事件类型
  3. //取值范围:
  4. //show(打开文件成功)
  5. //loadFail(下载失败)
  6. pdfCachePath:'', //字符串类型;文件地址路径,path为网络协议iOS返回,android均返回
  7. totalPage:6, //数字类型;文件总页数,path为网络协议iOS返回,android均返回
  8. index:6 //数字类型;文件当前显示的页数,滑动完成时返回
  9. }

示例代码

  1. var pdfReader = api.require('pdfReader');
  2. pdfReader.openView({
  3. rect:{
  4. x:0,
  5. y:0,
  6. w:'auto',
  7. h:'auto'
  8. },
  9. path:'http://www.pdf.com/test.pdf',
  10. fixedOn:api.frameName,
  11. fixed:true
  12. },function(ret){
  13. alert(JSON.stringify(ret));
  14. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

hideView

隐藏文档视图

hideView({params})

示例代码

  1. var pdfReader = api.require('pdfReader');
  2. pdfReader.hideView();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

showView

显示文档视图

showView({params})

示例代码

  1. var pdfReader = api.require('pdfReader');
  2. pdfReader.showView();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

closeView

关闭文档视图

closeView({params})

示例代码

  1. var pdfReader = api.require('pdfReader');
  2. pdfReader.closeView();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

clearCache

清除缓存到本地的文件,本接口只清除本模块缓存的数据,若要清除本app缓存的所有数据这调用api.clearCache

clearCache()

示例代码

  1. var pdfReader = api.require('pdfReader');
  2. pdfReader.clearCache();

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openPdfView

打开pdf文档视图,调用此接口为长图显示

openPdfView({params},callback(ret))

params

rect:

  • 类型:JSON 对象
  • 描述:(可选项)模块的位置及尺寸
  • 内部字段:
  1. {
  2. x: 0, //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
  3. y: 0, //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
  4. w: 320, //(可选项)数字类型;模块的宽度;默认:auto
  5. h: 200 //(可选项)数字类型;模块的高度;默认:auto
  6. }

path:

  • 类型:字符串
  • 描述:文档的路径,支持 widget://、fs://、http:// 等本地和网络协议
  • 注意:对于网络资源模块会先下载完成然后再打开,开发者可通过clearCache接口清除下载到本地的文件

fixedOn:

  • 类型:字符串类型
  • 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 默认:模块依附于当前 window

fixed:

  • 类型:布尔
  • 描述:(可选项)模块是否随所属 window 或 frame 滚动
  • 默认值:true(不随之滚动)

showLoading:

  • 类型:布尔
  • 描述:(可选项)未成功打开文件之前是否显示加载提示框
  • 默认值:true

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. eventType: 'show', //字符串类型;交互事件类型
  3. //取值范围:
  4. //show(打开文件成功)
  5. //loadFail(下载失败)
  6. pdfCachePath:'', //字符串类型;文件地址路径,path为网络协议iOS返回,android均返回
  7. totalPage:6, //数字类型;文件地址路径,path为网络协议iOS返回,android均返回
  8. }

示例代码

  1. var pdfReader = api.require('pdfReader');
  2. pdfReader.openPdfView({
  3. rect:{
  4. x:0,
  5. y:0,
  6. w:'auto',
  7. h:'auto'
  8. },
  9. path:'http://www.pdf.com/test.pdf',
  10. fixedOn:api.frameName,
  11. fixed:true
  12. },function(ret){
  13. alert(JSON.stringify(ret));
  14. });

可用性

iOS系统,Android系统

可提供的1.1.3及更高版本

closePdfView

关闭长图pdf试图

closePdfView()

示例代码

  1. var pdfReader = api.require('pdfReader');
  2. pdfReader.closePdfView();

可用性

iOS系统,Android系统

可提供的1.1.3及更高版本

论坛示例

为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码、知识点讲解、注意事项等,供您参考。