YCanPDF Android(libcom_ycan_PDFLib.so)插件接口说明文档

1.当前版本

当前版本号: 1.0.0.0

最新版下载地址:http://www.ycanpdf.cn/download/pages/pdfsdk/android.html

2.简介

libcom_ycan_PDFLib是西安优看电子科技有限公司开发的一款Android端解析PDF文件库,其主要功能如下:

1. 支持打开本地PDF

2. 支持打开文件内存流(内存流可base64加密,可支持在线数据打开)

3. 支持加密的PDF(包括PKCS7证书加密)

4. 兼容所有版本PDF文件(PDF1.3、PDF1.4、PDF1.5、PDF1.6、PDF1.7)

5. 除了支持拉丁语系PDF,还全面支持简体、繁体、日、韩等亚洲语系PDF

6. 支持文件页面指定区域获取

7. 支持文件页面页数获取与设置

8. 支持文件缩放率设置与获取

9. 支持文件最大页数获取

10. 支持目录获取功能

11. 支持单个查找PDF中的字符

12. 支持文字获取功能

13. 支持文件原始页面宽度和高度获取

14. 支持文件阅后即焚功能

3.使用环境

支持目前所有主流android操作系统

4.集成示例代码

1.加载so库

// 加载PDF文件so

static {

    System.loadLibrary("stlport_shared");

    System.loadLibrary("com_ycan_PDFLib");

}

2.调用优看PDFLib类并实例化对象

3.通过对象调用相关接口函数

5.方法

1.String libRegister(Context ctx, String strAppkey, String strAppSecret, String strlongitude, String strlatitude, String strpath)

功能:    
    so授权    
参数    
    ctx : android上下文句柄
    strAppkey : so授权Appkey    
    strAppSecret : so授权AppSecret    
    strlongitude : 经度    
    strlatitude : 纬度    
    strpath : android客户端可读写目录路径    
返回值
    成功返回"验证成功",反之则返回"验证失败"

2.long newHandle(long lParam)

功能:    
    初始化PDF文件句柄    
参数    
    lParams : 保留,设置为0    
返回值
    PDF文件句柄

3.void freeHandle(long hPDF)

功能:
    释放PDF文件句柄
参数
        hPDF : PDF文件句柄
返回值
    无

4.long openFile(long hPDF, String szFileName, String szPWD)

功能:    
    打开本地PDF文件    
参数    
    hPDF : PDF文件句柄    
    szFileName : PDF文件全路径
    szPWD : 文件密码,如果文件没有密码,设置为""    
返回值
    0 表示成功,-1 表示文件出错,-2 表示这个文件加密,-3 表示文件页面页数为0

5.long closeFile(long hPDF)

功能:    
    关闭打开文件    
参数
    hPDF : PDF文件句柄

返回值
    0 表示成功,-1 表示失败

6.int displayPatch(long hPDF, Bitmap bitmap, int nPageIndex,long sizeX, long sizeY, long patchX, long patchY, long patchWidth,long patchHeight)

功能:    
    获取nPageIndex页面位图相关    
参数    
    hPDF : PDF文件句柄    
    bitmap : 位图数据    
    nPageIndex : 获取位图数据页面页数    
    sizeX : 当前页面实际宽度    
    sizeY : 当前页面实际高度    
    patchX : 当前页面显示起始位置X    
    patchY : 当前页面显示起始位置Y    
    patchWidth : 当前显示可见区域页面宽度    
    patchHeight : 当前显示可见区域页面高度    
返回值
    0 表示成功,-1 表示失败

7.float getZoom(long hPDF)

功能:
    获取当前文件页面缩放率
参数
    hPDF : PDF文件句柄
返回值
    当前文件页面缩放率

8.long getMaxPage(long hPDF)

功能:
    获取当前文件页面总页数
参数
    hPDF : PDF文件句柄
返回值
    获取当前打开PDF文件总页数,-1为失败

9.long getOriPageWidth(long hPDF, int nPage)

功能:    
    获取当前打开文件指定页面原始宽度    
参数    
    hPDF : PDF文件句柄    
    nPage : 指定页面页数    
返回值
    0 表示成功,-1 表示失败

10.long getOriPageHeight(long hPDF, int nPage)

功能:    
    获取当前打开文件指定页面原始高度    
参数    
    hPDF : PDF文件句柄    
    nPage : 指定页面页数    
返回值
    0 表示成功,-1 表示失败

11.boolean SetupOutline(long hPDF)

功能:    
    初始化文件目录获取
参数    
    hPDF : PDF文件句柄    
返回值
    true 表示成功,false 表示失败

12.ArrayList getOutlineItemlist(long hPDF)

功能:    
    获取文件目录数据    
参数    
    hPDF : PDF文件句柄    
返回值
    返回目录数据

13.void setRCPath(long hPDF, String Rcpath, String Temppath, String Fontpath)

功能:    
    设置PDF文件打开资源目录    
参数    
    hPDF : PDF文件句柄    
    Rcpath : RC资源包路径
    Temppath : 临时资源路径    
    Fontpath : 系统字体资源路径    
返回值
    无

14.ArrayList GetCharArr(long hPDF, long nPage)

功能:    
    获取当前打开PDF文档指定页面文字数据    
参数    
    hPDF : PDF文件句柄    
    nPage : 获取文字指定页面页数    
返回值
    返回指定页面文字数据

15.long MakeDrmFile(String szSrcFile, String szDstFile, String strCtrlInfo)

功能:    
    生成阅后即焚文件    
参数    
    szSrcFile : 原始文件全路径(文件必须存在)    
    szDstFile : 目标文件全路径
    strCtrlInfo : 阅后即焚文件控制信息(详见项6)    
返回值
    0 表示成功,其他表示失败    
说明:    
    生成文件客户端必须连接网络

16.long OpenDrmFile( long hPDF, String szSrcFile)

功能:    
    打开阅后即焚文件    
参数    
    hPDF : PDF文件句柄    
    szSrcFile : 文件全路径
返回值
    0 表示成功,其他表示失败

17.long CheckFileEnc(String szSrcFile)

功能:    
    检查文件是否是阅后即焚文件    
参数    
    szSrcFile : 检测文件全路径(文件必须存在)    
返回值
    0 表示标准文件,1 表示阅后即焚文件,其他表示检测失败

18.long GetReadCount(long hPDF)

功能:    
    获取当前打开阅后即焚文件剩余阅读次数    
参数    
    hPDF : PDF文件句柄    
返回值
    大于0表示文件剩余阅读次数,-1 表示不限制阅读次数

19.long GetReadTime(long hPDF, long timeType)

功能:    
    获取当前打开阅后即焚文件剩余阅读时间    
参数    
    hPDF : PDF文件句柄    
    timeType : 有效阅读时间类型(0:时段1:时长)    
返回值
    大于0表示剩余文件阅读时间,-1表示不限制阅读时间;

20.long SetReadTimeStop(long hPDF, long readtimestop)

功能:    
    阅后即焚文件暂停阅读时间    
参数    
    hPDF : PDF文件句柄    
    readtimestop: 暂停开始阅读时间有效性计时(0:开始计时1:暂停计时)    
返回值
    0 表示成功

21.long GetReadCtrWay(long hPDF)

功能:    
    获取阅后即焚文件阅读控制信息控制方式    
参数
    hPDF : PDF文件句柄    
返回值
    0 表示一条控制信息失效,则文件失效,1表示所有控制信息失效,则文件失效,-1表示获取失败

22.long SetYCanMetaData(long hPDF, String strmetaData, long size)

功能:    
    设置当前文件注释信息    
参数    
    hPDF : PDF文件句柄    
    strmetaData : 注释数据    
    size : 注释数据字节长度    
返回值
    0 表示成功,-1表示失败

23.String GetYCanMetaData(long hPDF)

功能:    
    获取当前注释信息    
参数    
    hPDF : PDF文件句柄    
返回值
    返回当前文件注释数据,字串为"0"或者""表示无注释数据

6.阅后即焚文件生成控制信息格式

  1. 阅读次数控制: ReadCount(int)

  2. 阅读时长控制: ReadDuration(long)

  3. 阅读时间段控制: UseReadTime(/)

  4. 阅读起始时间: RStart(const char*)

  5. 阅读终止时间: REnd(const char*)

  6. 阅读控制方式: ReadCtrlWay(int)
    示例代码:

    <ReadCount>1</ReadCount>    
    <ReadDuration>3600</ReadDuration>    
    <UseReadTime>    
        <RStart>2017-09-27 09:05:40</RStart>    
        <REnd>2017-09-28 09:05:40</REnd>    
    </UseReadTime>    
    <ReadCtrlWay>0</ReadCtrlWay>

7.更新历史

暂无