pdfReader

论坛示例

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

概述

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文档视图 android该接口暂不支持arm64-v8a架构

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){
    api.alert({
            msg: 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){
    api.alert({
            msg: JSON.stringify(ret)
        })
});

可用性

iOS系统,Android系统

可提供的1.1.3及更高版本

closePdfView

关闭长图pdf试图

closePdfView()

示例代码

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

可用性

iOS系统,Android系统

可提供的1.1.3及更高版本

zoomCenteredTo

在指定中心点缩放

zoomCenteredTo()

params

zoom:

  • 类型:数字
  • 描述:缩放倍数
  • 默认:1

center:

  • 类型:JSON 对象
  • 描述:缩放中心点(以该点为中心进行缩放)
  • 内部字段:
{
      x: ,           //数字;中心点的坐标x;
      y: ,          //数字;中心点的坐标y;
}

示例代码

var pdfReader = api.require('pdfReader');
pdfReader.zoomCenteredTo({
    zoom:3,
    center:{
        x:100,
        y:100
    }
});

可用性

iOS系统,Android系统

可提供的1.1.3及更高版本

论坛示例

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

是否仍需要帮助? 请保持联络!
最后更新于 2024/12/2