PDF展示器组件实例讲解

作者:创世魂

 

● 准备工作

 

界面如下图:

打开启动类“界面设计器”,设计如下界面。

依次是“按钮1”“按钮2”“PDF展示器1”

注意:本组件位于“PDF展示器窗口组件”模块中。

 

● 载入自字节数组
● 载入自文件
● 载入自资产文件
● 载入自资源
● 载入自输入流
● 展示文档

 

前五个方法都是用来载入“PDF文档”,此处演示“载入自字节数组”方法。

 

“载入自字节数组”帮助文档:

顾名思义,通过本方法可载入字节数组的PDF文档。

成功载入返回真,失败返回假。

 

“展示文档”帮助文档:

本方法用来展示被载入的PDF文档,务必调用本方法PDF问道才能显示出来。

 

代码编写如下图:

1、取出PDF文档路径。

2、调用“读入文件”方法读取文档,将当前方法放入“载入自字节数组”方法内。

3、如果载入成功,调用“展示文档”方法将PDF展示出来。

 

运行效果如下图(GIF):

 

● 动画缩放
● 动画缩放2

 

此处演示“动画缩放”方法。

 

帮助文档如下图:

顾名思义,通过本方法可进行动画缩放,参数值填写要缩放的级别。

 

代码编写如下图:

“载入PDF文档”的相关代码剪切到“通知_被创建”虚拟方法下。

“按钮1”被点击后,调用当前方法,参数填写要缩放的级别即可。

 

运行效果如下图(GIF):

最后可看到PDF进行了放大操作。

 

● 动画重置缩放

 

帮助文档如下图:

通过本方法可将当前展示的PDF文档恢复至默认大小。

 

代码编写如下图:

“按钮1”被点击后,执行缩放。

“按钮2”被点击后,调用本方法恢复默认大小。

 

运行效果如下图(GIF):

 

● 取指定偏移页

 

帮助文档如下图:

通过本方法可取出,偏移指定位置后的页索引。

参数值范围“0-1”

注意:本方法并非真的偏移到指定位置,作用只是取出偏移后的页索引。

 

代码编写如下图:

取出指定偏移位置的页索引后,将其显示在提示信息框即可。

 

运行效果如下图:

 

● 取指定页宽度
● 取指定页高度

 

“取指定页宽度”帮助文档:

顾名思义,通过本方法可取出指定索引页的宽度,返回值为小数。

 

“取指定页高度”帮助文档:

通过本方法可取出指定索引页的高度,返回值为小数。

 

代码编写如下图:

取出“页索引1”的高度和宽度。

 

运行效果如下图:

 

● 取文档描述

 

帮助文档如下图:

通过本方法可取出当前PDF文档描述。

通过取出的“PDF文档描述类”,可进一步取出“作者”“构建日期”等信息。

如果描述信息不存在将返回空文本。

 

代码编写如下图:

定义类型为“PDF文档描述类”的变量,勾选参考,随后调用本方法赋值给变量。

通过“描述”变量就可以“构建日期”“作者”信息。

 

运行效果如下图:

 

● 取文档目录

 

界面准备:

在原界面的基础上增加一个“编辑框1”,用于存放目录内容。

 

帮助文档如下图:

顾名思义,通过本方法可取出文档目录,返回值为“PDF文档目录列表类”

 

代码编写如下图:

1、定义类型为“PDF文档目录列表类”变量,设置参考,并定义一个“计次”整数。

2、通过本方法取出列表对象赋值给“列表”变量。

3、通过循环方法循环取列表成员,赋值给“目录”变量。

4、最后通过“目录.标题”就可取出文档目录标题。

 

运行效果如下图(GIF):

点击“按钮1”后当前的文档目录会显示在编辑框内。

 

● 取超链接列表

 

帮助文档如下图:

顾名思义,通过本方法可取出指定索引页的所有超链接。

返回值为“文本列表类”

注意:页索引值从0开始。

 

代码编写如下图:

1、定义两个变量,类型分别为“文本列表类”“整数”

2、调用当前方法赋值给“列表”变量。

3、通过“取成员数”和是否为“空对象”的方法,判断当前页是否存在超链接。

4、利用“循环”方法取出所有成员数,添加到编辑框中。

 

运行效果如下图(GIF):

“按钮1”被点击后,文档中的所有超链接都会显示在编辑框中。

 

● 指定页适应宽度

 

帮助文档如下图:

通过本方法可让指定页自适应宽度。

 

代码编写如下图:

调用本方法,参数值填写0。

 

运行效果如下图(GIF):

 

● 置双击手势启用

 

帮助文档如下图:

通过本方法可启用或者关闭双击手势。

参数值为真则开启,为假在关闭。

注1:如果使用的模拟器则为鼠标双击。

注2:本方法务必写到“展示文档”方法前。

 

代码编写如下图:

“展示文档”方法前调用本方法,参数值填写假。

 

运行效果如下图(GIF):

左图:参数值为假的效果,只能上下滚动无法双击缩放。

右图:参数值为真的效果,可以随意的双击缩放。

   

 

● 置夜间模式

 

帮助文档如下图:

通过本方法可设置当前PDF文档是否开启夜间模式。

参数值为真开启,否则关闭。

如果不设置,默认为关闭状态。

注:本方法只能在“展示文档”方法前调用。

 

代码编写如下图:

“展示文档”方法前调用本方法,参数值设置为真。

 

运行效果如下图(GIF):

 

● 置文档密码口令

 

帮助文档如下图:

通过本方法解密PDF文档,参数值填写要解密的密码即可。

备注:加密PDF文档自行百度搜索,或者使用迅捷PDF在线加密

 

代码编写如下图:

本方法务必在“展示文档”方法前调用,其它任何地方调用无效。

 

运行效果如下图(GIF):

 

● 置文档页改变滑动

 

帮助文档如下图:

通过本方法可设置当前PDF是否支持上下滑动。

参数值为真则开启,为假则关闭。

备注:如果禁止上下滑动,只是禁止“默认缩放级别下”的上下滑动。

当PDF内容进行“放大”操作后,依然可以“上下滑动”

只要恢复成默认缩放级别时,当前内容就会无法上下滑动。

 

代码编写如下图:

务必在“展示文档”前调用本方法,此处设置参数值为假,禁止上下滑动。

 

运行效果如下图(GIF):

可看到当前PDF内容,并不影响放大后的上下滑动,一旦恢复默认缩放级别,则无法上下滑动。

 

● 置文档页翻转

 

帮助文档如下图:

通过本方法可设置是否启用页翻转效果。

开启后,只需要轻微滑动就可实现上下快速翻页。

 

代码编写如下图:

本方法务必在“展示文档”前调用。

 

运行效果如下图(GIF):

 

● 置显示页

 

帮助文档如下图:

通过本方法可设置当前PDF文档加载指定页。

参数值为可扩展参数,可增加N个页索引。

注意:页索引从0开始。

 

代码编写如下图:

本方法务必在“展示文档”前调用。

此处展示索引“1、100、200”

 

运行效果如下图(GIF):

 

● 置横向滚动

 

帮助文档如下图:

通过本方法可以设置PDF文档是否开启横向滚动。

 

代码编写如下图:

本方法务必在“展示文档”前调用。

运行效果如下图(GIF):

当前PDF文档将进行横向滚动。

 

● 置页间距

 

帮助文档如下图:

通过本方法可设置PDF文档的页间距,单位像素。

 

代码编写如下图:

本方法务必在“展示文档”前调用。

 

运行效果如下图(GIF):

左图:不设置页间距的状态。

右图:设置100像素页间距的状态。

  

 

● 置默认显示页

 

帮助文档如下图:

通过本方法可让PDF文档加载时默认显示某页。

页索引从0开始。

 

代码编写如下图:

本方法务必在“展示文档”前调用,设置本方法的参数值为100.

 

运行效果如下图(GIF):

页索引100对应正是101页,当前设置项生效。

 

● 置绘制监听
● 文档绘制响应(事件)

 

“置绘制监听”帮助文档:

通过本方法可监听当前PDF文档的绘制。

参数值为真,则不停的发送“文档绘制响应”事件。

 

“文档绘制响应(事件)”帮助文档:

“置绘制监听”方法参数值为真时,本事件会被发送。

参数1:返回画板对象,本对象可参考“画板教程”

参数2、3、4:分别返回“宽度”“高度”“页索引”

 

代码编写如下图:

监听方法必须写在“展示文档”方法前。

 

添加“文档绘制响应”事件,将返回的高度、宽度和页索引显示在“按钮2”上。

 

运行效果如下图(GIF):

无论是缩放还是翻页,返回的数据都会实时更改。

 

● 置绘制全部监听
● 文档绘制全部响应(事件)

 

帮助说明:

这两个命令和“置绘制监听”“文档绘制响应(事件)”作用和效果一致。

 

● 置文档渲染监听
● 文档开始渲染(事件)

 

“置文档渲染监听”帮助文档:

本方法参数值设置为真,可监听“文档开始渲染”事件,否则相反。

 

“文档开始渲染(事件)”帮助文档:

务必设置“置文档渲染监听”参数值为真,本事件才会被发送。

本事件的只有一个参数,将会返回当前PDF文档“总页数”

 

代码编写如下图:

本方法务必在“展示文档”前调用,设置参数值为真。

 

添加“文档开始渲染”事件,将返回的“总页数”显示在“按钮2”的标题上。

 

运行效果如下图:

 

● 置文档滚动监听
● 文档被滚动(事件)

 

“置文档滚动监听”帮助文档:

通过本方法可设置PDF文档被滚动时的监听,参数值为真将发送“文档被滚动”事件。

 

“文档被滚动(事件)”帮助文档:

文档被滚动时将触发本事件,返回“当前页索引”“当前页滚动偏移值”

 

代码编写如下图:

本方法务必在“展示文档”前调用,设置参数值为真。

 

添加“文档被滚动”事件,将返回的两个参数值显示在“按钮2”的标题上。

 

运行效果如下图(GIF):

只要处于滚动状态,按钮2的标题会不断更新。

 

● 置文档触摸监听
● 文档被触摸(事件)

 

“置文档触摸监听”帮助文档:

通过本方法可监听“文档被触摸”事件,参数值为真则监听,否则相反。

 

“文档被触摸(事件)”帮助文档:

文档被触摸后发送本事件,返回“动作事件类”对象。

 

代码编写如下图:

本方法务必在“展示文档”前调用,设置参数值为真。

 

添加“文档被触摸”事件,通过返回的“动作对象”可判断“动作类型”

 

运行效果如下图(GIF):

当PDF文档被按下后,就会弹出“PDF被按下”提示。

 

● 置文档载入监听
● 文档已载入完毕(事件)

 

帮助说明:

这两个命令和“置文档渲染监听”“文档开始渲染(事件)”作用和效果一致。

 

● 置文档链接单击监听
● 超链接被单击(事件)

 

“置文档链接单击监听”帮助文档:

通过本方法可设置PDF文档中超链接被点击事件的监听。

 

“超链接被单击(事件)”帮助文档:

超链接被点击后将触发本事件。

本事件将返回超链接地址以及坐标信息。

参数6的“小数矩形类”,可通过“上下左右”四个读属性,取出超链接坐标范围。

 

代码编写如下图:

本方法务必在“展示文档”前调用,设置参数值为真。

 

添加“超链接被单击”事件,将返回的信息显示在信息框中。

 

运行效果如下图(GIF):

 

● 置文档长触摸监听
● 文档被长触摸(事件)

 

帮助说明:

这两个命令和“置文档触摸监听”“文档被触摸(事件)”作用和效果基本一致。

 

● 当前缩放级别(读)

 

帮助文档如下图:

通过本属性可读取当前PDF文档的缩放级别。

 

代码编写如下图:

直接调用本属性读取即可。

 

运行效果如下图(GIF):

 

● 支持滑动(写)

 

帮助文档如下图:

通过本属性可设置当前PDF文档是否支持手势滑动。

不设置本属性,默认为真。

 

代码编写如下图:

“按钮1”被点击,设置本属性值为真,开启滑动。

“按钮2”被点击,设置本属性值为假,关闭滑动。

 

运行效果如下图(GIF):

 

● 普通缩放级别(写)
● 最小缩放级别(写)

 

“普通缩放级别(写)”帮助文档:

简单来说本属性的作用,是用来设置当前PDF的默认缩放级别。

不设置本属性的情况下默认级别为“1.0”

注意:本属性的属性值不能小于1.0。

 

“最小缩放级别(写)”帮助文档:

通过本属性可设置最小缩放级别,属性值同样不能小于1.0。

 

代码编写如下图:

“按钮1”被点击后,分别设置以上两个属性值。

 

运行效果如下图(GIF):

点击“按钮1”后,在对PDF进行双击缩放操作时,“缩放级别”将会锁定在设置的范围内。

 

● 最大缩放级别(读写)

 

“最大缩放级别(写)”帮助文档如下图:

通过本属性可设置当前PDF最大缩放级别,属性值不能小于“1.0”

同名读属性,即读取当前最大缩放级别。

 

代码编写如下图:

“按钮1”被点击后设置当前最大缩放级别。

“按钮2”被点击后读取当前设置的值。

 

运行效果如下图(GIF):

点击“按钮1”之前,双击缩放可缩放两次。

之后时,缩放级别会控制在“1.5”以内。

“按钮2”被点击后,会读取当前缩放级别。

 

● 垂直滑动(读)

 

帮助文档如下图:

通过本属性可判断当前是否处于“垂直滚动”,垂直滚动返回真,否则返回假。

 

代码编写如下图:

“展示文档”方法前,调用“置横向滚动”方法,参数值设置真。

 

“按钮1”被点击后,判断当前读属性的返回值。

 

运行效果如下图(GIF):

左图:横向滚动状态下判断返回值。

右图:垂直滚动状态下判断返回值。

   

 

● 当前横向偏移(读)
● 当前纵向偏移(读)

 

帮助说明:

以上两个属性,就是用来判断当前PDF文档,当前横/纵向偏移值。

 

代码编写如下图:

“按钮1”被点击后,直接读取这两个偏移值到提示框即可。

 

运行效果如下图(GIF):

 

● 当前页索引(读)

 

帮助文档如下图:

顾名思义,通过本属性可读取当前PDF文档所处的页索引。

 

代码编写如下图:

直接调用本属性读取即可。

 

运行效果如下图(GIF):

 

● 是否处于缩放(读)

 

帮助文档如下图:

本属性可判断当前PDF文档是否处于缩放状态。

处于缩放状态返回真,否则返回假。

 

代码编写如下图:

“按钮1”被点击后,直接判断本属性的返回值即可。

 

运行效果如下图(GIF):

 

● 间距(读)

 

帮助文档如下图:

通过本属性可读取当前PDF文档的页间距,单位像素。

 

代码编写如下图:

“按钮1”被点击后,直接读取即可。

 

运行效果如下图: