优看PDF阅读控件单机版使用接口说明

公司名称 :  西安优看电子科技有限公司

公司主页 :  http://www.ycanpdf.cn

产品名称 :  PDF阅读控件单机版

版本号   :  4.4.3.19

联系方式 :  1003059540(QQ)

400-092-1680(tel)

[email protected](email)

最新版本 :  http://www.ycanpdf.cn/download/pages/pdfview/windows.html

更新日期 :  2017-11-08

其他产品最新版本地址:

PDF阅读控件在线版:

http://www.ycanpdf.cn/download/pages/pdfview_web/windows.html

PDF阅读控件防扩散版:

http://www.ycanpdf.cn/download/pages/pdfdrm/windows.html

PDF超大文件在线阅读系统:

http://www.ycanpdf.cn

更多产品:

http://www.ycanpdf.cn

简介

PDF阅读控件单机版是西安优看电子科技有限公司(http://www.ycanpdf.cn)开发的一款阅读本地PDF文件的插件,可以在任何支持标准OCX的开发语言里面使用,其主要功能如下:

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.  支持查看浏览PDF历史中的上一视图、下一视图

9.  支持顺时针、逆时针旋

10.支持适应宽度、适应高度、指定比例缩放浏览等

11.支持目录功能,目录可隐藏

12.支持全屏、退出全屏功能

13.支持单个检索PDF文档关键字

14.支持全文检索PDF文档关键字(增强版)

15.支持另存为(此功能可根据客户需求屏蔽)

16.支持文字选择

17.支持截图模式

18.支持文字区域坐标选择模式(增强版)

19.支持打印

20.支持后台打印(增强版)

21.支持在显示的时候添加各种自定义水印(增强版)

使用环境

支持所有windows操作系统,可以在任何支持标准OCX的开发语言里面使用.

示例代码

VS2008对话框程序为例:

  1. VS2008创建MFC对话框程序

  1. 对话框界面右键菜单选择"Insert Activex Control...",弹出界面选择"PDFViewControl",并确定,插件添加到对话框界面,可根据实际需求拖动位置与大小

  1. 然后鼠标在插件上右键菜单选择"Add Variable",定义CPdfviewctrl1类型变量m_pdf(可自行定义)确定,生成Pdfviewctrl1.h和CPdfviewctrl1.cpp

  1. 相关模块通过变量m_pdf调用接口

方法

1.   long SetFileName(const char*filename, const char* password, long lParams)

功能:
         打开本地硬盘上的PDF文件
参数
         filename : 文件全路径
         password : 文件密码,如果文件没有密码,设置为""
         lParams  : 保留,设置为0
返回值
         0表示成功,-1 表示文件出错,-2 表示这个文件加密,-3 表示文件页面页数为0

2.   long OpenFileDlg(long lParams)

功能:
         调用系统对话框,打开本地硬盘上的PDF文件
参数
         lParams: 保留,设置为0
返回值
         0表示成功,-1 表示文件出错,-2 表示这个文件加密,-3 表示文件页面页数为0

3.   long OpenMem(short* pBuf, longlen, const char* password)

功能:
         打开内存中的 PDF 文件(该模式不支持web 方式调用)
参数
         pBuf: PDF文件流
         len: 内存流长度
         szPassword  : 文件密码,如果文件没有密码,设置为""
返回值
         0表示成功,-1 表示文件出错,-2 表示这个文件加密,-3 表示文件页面页数为0
示例代码:
         FILE*fp = fopen(strFile,"rb");
         char*pBuf = null;
         if(fp) {
            fseek(fp,0,SEEK_END); 
            long len =ftell(fp);
            fseek(fp,0,SEEK_SET);
            pBuf = (char *)malloc(sizeof(char)*(len+1));
            if(pBuf){//这里的 pBuf 在文件显示完毕的时候要释放 free(pBuf);
             fread(pBuf,1,len,fp);
                 pPDFView->OpenMem((short*)pBuf,len,NULL);
            }
            fclose(fp);
         }
         ...
         ...
         if(pBuf){
                 free(pBuf);
                 pBuf= null;
         }

4.   long OpenMemEx(const char* lpBuf,long len, const char* lpPWD, long lParams)

功能:
         打开base64编码的内存PDF文件
参数
         lpBuf: 二进制内存流(base64编码),必须要是完整的 PDF 文件
         len: 内存流长度
         lpPWD: 文件密码,如果文件没有密码,设置为""
         lParams: 保留,设置为0
返回值
         0表示成功,-1 表示文件出错,-2 表示这个文件加密,-3 表示文件页面页数为0

5.   long SetRCPath(const char* szRCPath)

功能:
         设置本地 RC 资源包
参数
         szRCPath : 本地 RC 资源包全路径
返回值
         0表示成功,-1 表示设置RC路径过长(限制260字符长度)

6.   long SaveAs(const char*szFileName, long bReplace)

功能:
         保存当前打开的文件到本地
参数
         szFileName: 保存到本地文件路径
         bReplace : 目标文件存在是否覆盖(0:不覆盖,1:覆盖) 
返回值
         0表示成功,-1 表示失败

7.   long SaveAsDlg(long lParams)

功能:
         调用系统保存文件对话框,保存当前打开的文件
参数
         lParams: 保留,设置为0
返回值
         0表示成功,-1 表示失败

8.   long CloseFile()

功能:
         关闭当前打开文件
参数
         无
返回值
         0表示成功,-1 表示失败

9.   long First(); long Last(); longNext(); long Prev();

功能:
         跳转到当前打开的PDF文件的第一页、末一页、下一页、前一页
参数
         无
返回值
         0表示成功,-1 表示失败

10.  long SetViewType(long viewType)

功能:
         关闭当前打开文件
参数
         viewType : 1 为单页显示,2 为连续页显示,3为翻页动画显示,4为对开显示
返回值
         0表示成功, -1表示文件未打开, -2表示输入viewType错误

11.  long InvalidateView(long bClear)

功能:
         刷新控件
参数
         bClear: 保留,设置为0
返回值
         0表示成功

12.  long ShowOutline(long bShow)

功能:
         控制目录是否显示
参数
         bShow: 非 0 为显示,0 为不显示
返回值
         0表示成功

13.  long GetPageSize( long lPage,long lx, long ly)

功能:
         获取当前打开文件指定页面宽和高
参数
         lPage: 指定的页面,从 1 开始
         lx: 接收宽度的参数
         ly: 接收高度的参数
 
返回值
         成功则会返回一个长整形,值为100000*宽度+高度
         假如返回102400768,则宽是1024,高是768.这个主要是处理网页调用的情况,失败则返回-1
说明
         这里的 lx 和 ly 是个指针,如果是在C++里面调用,则形式如下:
         longx,y;
         longlRet = -1;
         lRet= GetPageSize(1,&x,&y);
         x和 y 就是宽和高,同时通过 lRet 也可以计算宽和高。如果是在 web 里面
         调用,则只能通过返回值取得宽和高,并且 lx 和 ly 必须给 0:
         varlRet = GetPageSize(1,0,0);
         varx=lRet/100000;
         vary=lRet-x;
注意
         此接口为老版本接口,可用GetPageOriWidth和GetPageOriHeight替换

14.  long GetPageOriWidth( long lPage)

功能:
         获取当前打开文件指定页面原始宽度
参数
         lPage: 指定的页面,从 1 开始
返回值
         成功返回页面原始宽度,-1为失败

15.  long GetPageOriHeight(long lPage)

功能:
         获取当前打开文件指定页面原始高度
参数
         lPage: 指定的页面,从 1 开始
返回值
         成功返回页面原始宽度,-1为失败

16.  long PrintPDF(const char*filename, const char* password , long Level, long lParams)

功能:
         打印当前 PDF 文件
参数
         filename : 保留,必须置为空
         password : 保留,必须置为空
         Level: 打印质量(1,2,3,4,5质量依次递增)
         lParams: 0 表示原始尺寸打印;1 表示缩放到 A4 打印
返回值
         0表示成功,-1 表示失败

17.  long PrintNoDlg(const char*strFilePath, const char* szPrinter, long lFrom, long lTo, long lCopy, longLevel, long lParams)

功能:
         后台打印(不弹出打印对话框)当前 PDF 文件
参数
         strFilePath: 默认打印文件路径(设置为"",则必须先打开文件,否则默认打开此路径文件)
         szPrinter        : 打印机名称
         lFrom: 起始页
         lTo: 终止页
         lCopy: 打印份数
         Level: 打印质量(1,2,3,4,5质量依次递增)
         lParams: 0 表示原始尺寸打印;1 表示缩放到 A4 打印
返回值
         0表示成功,-1 表示失败
示例代码
         PrintNoDlg("文件路径","Printer",1,1,1,5,1);

18.  long NextView()

功能:
         返回到查看历史中的下一页
参数
         无
返回值
         0为失败,大于 0 表示成功

19.  long PrevView()

功能:
         返回到查看历史中的上一页
参数
         无
返回值
         0为失败,大于 0 表示成功

20.  long SearchStr(const char*strKey, long bCaseSensitive, long bAllPages)

功能:
         当前打开文件中查找指定字串
参数
         strKey : 要查找的字串。
         bCaseSensitive: 是否区分大小写,0 不区分,1 区分
         bAllPages: 保留,设置为0
返回值
         1表示成功,其它表示失败(失败有相关错误提示弹出)

21.  long SearchNext()

功能:
         查找关键字下一个
参数
         无
返回值
         1表示成功,其它表示失败(失败有相关错误提示弹出)

22.  long SearchPrev()

功能:
         查找关键字上一个
参数
         无
返回值
         1表示成功,其它表示失败(失败有相关错误提示弹出)

23.  long FitWidth()

功能:
         当前打开文件适合宽度显示
参数
         无
返回值
         1表示成功,-1表示失败

24.  long FitHeight()

功能:
         当前打开文件适合高度显示
参数
         无
返回值
         1表示成功,-1表示失败

25.  long RotateLeft()

功能:
         页面左转 90 度显示
参数
         无
返回值
         1表示成功,-1表示失败

26.  long RotateRight()

功能:
         页面右转 90 度显示
参数
         无
返回值
         1表示成功,-1表示失败

27.  long SetZoomMode (longlZoomMode,float fStep)

功能:
         是指当前缩放模式
参数
         lZoomMode        : 1 为放大模式,2 为缩小模式,0 为取消缩放模式
         fStep: 缩放模式下每次递增或者递减缩放率
返回值
         0表示成功,-1表示失败

28.  long SetSelectMode(long mode)

功能:
         设置当前阅读模式
参数
         Mode: 0 为阅读模式,1选择文字模式,2截图模式,3文字区域坐标选择模式
返回值
         0表示成功,-1表示失败

29.  long SetFullscreen(longbFullscreen, long lParams)

功能:
         设置全屏或非全屏显示
参数
         bFullscreen:  1为全屏显示,0为非全屏显示
         lParams:  保留
返回值
         0表示成功

30.  const char* GetVersion()

功能:
         获取当前安装控件版本
参数
         无
返回值
         返回当前安装控件版本号。失败返回为""

31.  void SetZoom(float propVal)

功能:
         设置当前打开文件页面缩放率
参数
         propVal: 设置缩放率
返回值
         无

32.  long SetFont(const char* szName,long lSize, long lFstClr, long lEndClr, long bItalic, long bUnderline, longbStrikeOut, long lParams)

功能:
         设置水印字体信息
参数
         szName: 字体名称。
         lSize: 字体大小。
         lFstClr: 字体的渐变色开始色彩。
         lEndClr: 字体的渐变色结束色彩。
         bItalic: 字体是否为倾斜。
         bUnderline: 字体是否带下划线。
         bStrikeOut: 字体是否带删除线。
         lParams: 保留
返回值
         0表示成功   
说明
         a.此接口为增强版本功能

33.  long AddImage(const char* szImage,long x, long y, long w, long h long transparency, long rotate, long lParams)

功能:
         添加图片水印
参数
         szImage: 网络地址图片
         x: 横坐标,PDF显示区域左上角为原点
         y: 纵坐标
         w: 宽度
         h: 高度
         transparency: 透明度(0--100),0代表完全透明,100代表完全不透明
         rotate: 旋转角度
         lParams: 0为显示水印,1为打印水印
返回值
         返回该水印索引index,在调用DeleteWaterMark()时使用
         大于或等于 0 表示成功,-1 表示失败
说明
         a.此接口为增强版本功能

34.  long AddText(const char* szText,long x, long y, long transparency, long rotate, long lParam)

功能:
         添加文字水印
参数
         szText: 文字水印内容
         x: 横坐标,PDF显示区域左上角为原点
         y: 纵坐标
         transparency: 透明度(0--100),0代表完全透明,100代表完全不透明
         rotate: 旋转角度
         lParam: 0为显示水印,1为打印水印
返回值
         返回该水印索引index,在调用DeleteWaterMark()时使用
         大于或等于 0 表示成功,-1 表示失败
说明
         a.此接口为增强版本功能

35.  long DeleteWaterMark(long index,long lParam)

功能:
         删除文字或者图片水印
参数
         Index: 图片水印索引:调用 AddImage()、AddText()成功的返回值
         lParam: 保留
返回值
         0表示成功, 其它表示失败
说明
a. 此接口为增强版本功能

36.  long OPenFileInit(float InitType,const char* strParams)

功能:
         打开文件前相关数据初始化设置
参数
         InitType: 设置初始化类型,-1:适合高度,0:适合宽度,0.125~64:自定义缩放率 
         strParams: 保留,设置为""
返回值
         0表示成功

37.  const char* SearchWordInPages(constchar* strFilePath, const char* strSearchData, long nFromPage, long nToPage,long lParams)

功能:
         全文检索关键字
参数
         strFilePath: 默认打开文件路径(如果查找当前已打开文件,则设置为"")
         strSearchData: 关键字(支持与或运算。如:A&&B&&C或者A||B||C或者A)
         nFromPage: 查选关键字起始页
         nToPage: 查询关键字终止页面
         lParams: 保留,设置为0
返回值
         "-1"为文件打开失败或者文件为打开,"-2"为输入关键字出错,"-3"为输入页码范围出错,"-4"表示关键字未找到,反之则返回查询到xml数据
说明
         a.此接口为增强版本功能

38.  const char*GetFileDatabyRegion(const char* strFilePath, long nPage, long left, long top,long right, long bottom, const char* strbmpsavepath, long lParams)

功能:
         根据坐标获取对应PDF文件的数据
参数
         strFilePath: 默认打开文件路径(如果查找当前已打开文件,则设置为"")
         nPage: 获取数据对应页面页数    
         left: 对应页面坐标left
         top: 对应页面坐标top
         right: 对应页面坐标right
         bottom: 对应页面坐标bottom
         strbmpsavepath: 对应坐标如果为图片,则保存在此目录下(文件根目录,不带文件名)
         lParams: 保留,设置为0
返回值
         "-1"为失败,""为当前区域没有文字或者为图片(图片自动保存在strbmpsavepath下)
说明
         a.此接口为增强版本功能

39.   long SnapShot(longlParams)

功能:
         截取屏幕保存图片到本地
参数
         lParams: 保留,设置为0
返回值
         0表示成功,-1表示禁止截屏

40.  long SetupCallBack(longDoEvent,long DoNpHandle)

功能:
         设置回调
参数
         DoEvent: 回调函数原型句柄
         DoNpHandle: 回调动作所在类句柄
返回值
         0表示成功
说明
         回调函数原型:
         //消息类型,参数个数,数据,回调动作所在类句柄
         long  CALLBACK OnDoEvent(long msgid,longlParams,char* wParams,long DoNpHandle);
         1.页面页数改变消息
            回调对应msgid为0
         2.选择区域完成消息
            回调对应msgid为2

属性

1. PageIndex 当前页码,介于1和最大页码之间

2. MaxPage 当前 PDF 的总页数,此参数只读

3. Zoom 当前显示的缩放比例,0.01~64 之间的一个实数

事件

1.void OnPageChanged(long nCurPage, long nMaxPage)

功能
    页面改变事件触发
参数
    nCurPage:     当前文档页面页数
    nMaxPage:    当前文档页面总数

2.void OnSelectArea(long nPage, long left,long top, long right, long bottom)

功能
    页面改变事件触发
参数
    nPage:  数据所在页面页数
    left,top,right,bottom:  所在页面获取数据坐标
时间: 2024-10-10 06:21:55

优看PDF阅读控件单机版使用接口说明的相关文章

PDF在线阅读控件多浏览器(IE,firefox,chrome,opera等)中的使用

iStylePDF是基于ActiveX技术开发的一个COM组件,一般是应用于IE浏览器中来使用,但是随着越来越多的浏览器出现,导致客户端的环境非常复杂,客户的需求又是多样化的,所以我们这里介绍了一种更快的让我们的COM组件在各种浏览器中通行无阻的方法. 浏览器现在的主流一般分为IE内核和非IE内核浏览器,IE浏览器中的使用无需太多的说明,直接应用object对象就可以使用了. 如图所示: 启动页面的时候判断下浏览器类型 非IE内核浏览器基本上都支持NPAPI插件模式,我们提供了一个简单的控件注册

强大的PDF转换控件ActivePDF WebGrabber

ActivePDF WebGrabber控件是一款功能强大的PDF转换控件,可以把HTML或者URL转换为PDF,利用强健的页面布局控件,全面支持Flash转换,产生安全的.可打印的PDF文件. 具体功能: 动态HTML到PDF转换 无论是来自任意源的HTML文档,无论是CGI脚本文件,Asp.Jsp或者无格式HTML文件,activePDF WebGrabber都可以进行PDF转换,没有任何区别.通过activePDF WebGrabber,您可以加载URL地址.本地磁盘甚至是内存中的HTML

强大的PDF查看控件Spire.PDFViewer for .NET

Spire.PDFViewer for .NET是一款功能强大的PDF查看控件.它是由e-iceblue公司在2012年新推出的一款产品.它允许开发者从本地文件夹(File),stream和byte array加载PDF文件.Spire.PDFviewer for .NET支持查看PDF/A-1B, PDF/X1A以及加密的PDF文件.作为一款专业的PDF查看控件,Spire.PDFViewer for .NET支持多种打印定向.另外,Spire.PDFViewer还可以将PDF文件导出转换成流

转换Word headings、元数据、超链接等元素为等同的PDF元素控件activePDF DocConverter

activePDF DocConverter使你能够很容易地扩展PDF转换功能到你的网内的每个用户,在安装了产品之后,简单地配置转换器扫描到的文件夹,用户就可以开始通过直观的拖拉操作进行文件转换了. 具体功能: 拖拉转换PDF: 控件通过目录扫描进行即时的批量转换,只需要在网络上定义一个监视文件夹用于DocConverter进行扫描,最终用户只需要从他们的桌面上把需要转换的文件直接拖到这个文件夹内,控件就会自动转换该文件为PDF了.并且放置转换好的文件到输出文件夹. 转换流行的Office文件格

控件的开发接口的设计原理

for (var i = 0; i < _uiList.length; i++) { groot.vms[_uiList[i]].uivalue = value; groot.vms[_uiList[i]].uivalueRender(); } 当改变父vm的属性值的时候的值的时候 程序是通过 控件的uivalue 来更新控件的值的 所有每个控件必须有uivalue属性 控件的开发接口的设计原理

分享一个PDF打印控件

控件CLSID A04AC669-CB70-4E8B-9CC0-9B73FC153784 功能描述 自己写的一个控件,某人寿公司的需求,可惜最后没用到. 需求如下: 1.给你一个一个PDF文档,让你打印该文档,且不同页从打印机的不同纸盒出纸(需求真是千奇百怪). 接口如下: /************************************************/ //发送打印任务到打印队列 //参数: strPath-> 文件路径 // pageFrom-> 打印开始页 // pa

Activex控件的IObjectSafety接口问题

http://blog.chinaunix.net/uid-192452-id-3150062.html 我的05年做流氓插件的时候,就注意到了这个问题,只要注册表加入类似的就可以 HKEY_CLASSES_ROOT\Component   Categories\{7DD95801-9882-11CF-9FA9-00AA006C42C4} HKEY_CLASSES_ROOT\Component   Categories\{7DD95802-9882-11CF-9FA9-00AA006C42C4}

CAD控件:COM接口实现自定义实体的方法

1. 实现步骤: 3 1. 实现步骤: 参考例子 :Src\MxDraw5.2\samples\ie\iedemoTest.htm 1) 增加自定义实体对象 调用DrawCustomEntity函数,绘制一个自定义实体对象 函数说明如下: JS例子,下面代码绘制一个自定义实体,设置了两个属性,属性名分别" startpoint"," endpoint"的两个点坐标, // 插入自定义实体函数 function InsertCustomEntity() { var g

PDF创建及动态转换控件程序包ActivePDF Portfolio

ActivePDF Portfolio是将4个activePDF最优秀的服务器产品捆绑成一个价格适中的控件程序包.它提供了开发一个完整的服务器端的PDF解决方案所需的一切. 具体功能: activePDF Portfolio包含4个activePDF最优秀的服务器产品,它包含有使得PDF的部署变得易于使用的所有工具,同时节省35%的花销 activePDF Server 可以方便而快捷的在您的企业应用程序或者Web应用程序中添加PDF创建及动态转换功能.支持多线程PDF产生,进行颜色管理,字体嵌