一种电子云签章的签章位置定位方法及装置与流程

文档序号:28435351发布日期:2022-01-12 01:46阅读:598来源:国知局
一种电子云签章的签章位置定位方法及装置与流程

1.本发明涉及电子签章处理,具体涉及一种用于对电子云签章的签章位置进行定位的方法及装置。


背景技术:

2.《电子签名法》实施后,电子印章与物理印章具有同等的法律效力,已经成为各级各部门电子公文系统不可或缺的工具。电子印章有两种形式:一种为usb锁的模式,一种为云签章的模式。usb锁模式是将证书信息存于usb锁中,十分安全,但是需要一个物理设备,携带不方便;而云签章模式是将电子签章统一存放于服务端,用户只需要记住密码既可以进行签章,使用十分方便。
3.电子云签章一般都有前端框架,用于展示pdf文档和签章图片,签章时位置的定位是个十分关键的技术,它直接关系到签章的位置是否正确。当前大部分技术是通过字体的大小来计算,这种方式复杂又不精确。还没有系统的提出对于签章位置的精确定位方案。因此,有必要提供一种对电子云签章定位签章位置的方法及装置来解决上述技术问题。


技术实现要素:

4.发明目的:针对现有技术的不足,本发明提供一种电子云签章的签章位置定位方法,能够解决电子签章时,签章位置很难精确定位的问题。
5.本发明还提供一种电子云签章的签章位置定位装置。
6.技术方案:根据本发明的第一方面,提供一种电子云签章的签章位置定位方法,包括如下步骤:
7.前端框架获取并展示待签章的pdf文档;
8.基于鼠标点击事件,判断点击点是否在pdf文档上;
9.当点击点在pdf文档上时,获取点击点在pdf文档中的页码、一页pdf文档在前端框架中所对应的长度和高度,并计算点击点在前端pdf文档中的坐标;
10.将点击点在pdf文档中的页码、一页pdf文档在前端框架中所对应的长度和高度、点击点在前端pdf文档中的坐标传给后台服务器;
11.后台服务器根据一页pdf文档在前端框架中所对应的长度和高度、点击点在前端pdf文档中的坐标计算签章位置在pdf文档中的坐标;
12.后台服务器根据点击点在pdf文档的页码以及签章位置在pdf文档中的坐标,确定签章的真实位置。
13.根据第一方面的某些实施方式,判断点击点是否在pdf文档上包括:
14.获取点击点对应的对象,判断该对象的class属性是否为textlayer,如果是,则判定点击点在pdf文档上,如果不是,则递归判定该对象的父元素的class属性是否为textlayer,如果父元素中一直到顶层元素都不存在class属性为textlayer的父元素,则判定点击点不在pdf文档上。
15.根据第一方面的某些实施方式,计算点击点在前端pdf文档中的坐标包括:
16.以前端框架中页面左上角为原点,获取鼠标点击点在前端框架页面上的坐标x1,y1;
17.获取鼠标点击时选中的目标对象相对于前端框架页面左侧和上侧边缘的偏移,作为pdf文档整体在前端框架页面上的坐标x2,y2;
18.用鼠标点击点在前端框架页面上的坐标x1,y1分别减去pdf文档整体在前端框架页面上的坐标x2,y2,得到鼠标在pdf文档中的坐标x0,y3;
19.获取鼠标点击时选中的目标对象的高度值h,利用该高度值h减去鼠标在pdf文档中的纵坐标y3,作为点击点在前端pdf文档中的纵坐标y0,得到鼠标点击点在前端pdf文档中的坐标x0,y0。
20.根据第一方面的某些实施方式,后台服务器根据以下方法计算签章位置在pdf文档中的坐标:
21.获取pdf文档在后台服务器上一页矩形对象的长度和宽度值w1,h1,结合一页pdf文档在前端框架中所对应的长度和高度w2,h2以及点击点在前端pdf文档中的坐标x0,y0,根据下式得到鼠标点击点在pdf文档中的坐标:
22.x=x0*w1/w2;
23.y=y0*h1/h2。
24.根据第一方面的某些实施方式,所述方法还包括:当基于鼠标点击事件,判断点击点在pdf文档上时,在前端框架中展示跑马灯动画,并启动定时器定期查询后台服务器是否完成签章,当查询到后台服务器完成签章时,隐藏跑马灯动画并展示签章后的pdf文档。
25.根据第一方面的某些实施方式,在前端框架中,签章图片随鼠标的移动而移动,鼠标与签章图片的位置之间存在指定距离。
26.根据第一方面的某些实施方式,所述方法还包括:后台服务器根据确定的签章的真实位置完成签章动作,并在前端框架中展示签章完成后的pdf文档。
27.根据本发明的第二方面,提供一种电子云签章的签章位置定位装置,包括前端处理模块和后台服务模块,其中前端处理模块在前端框架中展示信息,前端处理模块被配置为:
28.获取并展示待签章的pdf文档;
29.基于鼠标点击事件,判断点击点是否在pdf文档上;
30.当点击点在pdf文档上时,获取点击点在pdf文档中的页码、一页pdf文档在前端框架中所对应的长度和高度,并计算点击点在前端pdf文档中的坐标;
31.将点击点在pdf文档中的页码、一页pdf文档在前端框架中所对应的长度和高度、点击点在前端pdf文档中的坐标传给后台服务模块;
32.后台服务模块被配置为:
33.根据一页pdf文档在前端框架中所对应的长度和高度、点击点在前端pdf文档中的坐标计算签章位置在pdf文档中的实际坐标;
34.根据点击点在pdf文档的页码以及签章位置在pdf文档中的实际坐标,确定签章的真实位置。
35.根据第二方面的某些实施方式,前端处理模块被配置为根据以下步骤计算点击点
在前端pdf文档中的坐标:
36.以前端框架中页面左上角为原点,获取鼠标点击点在前端框架页面上的坐标x1,y1;
37.获取鼠标点击时选中的目标对象相对于前端框架页面左侧和上侧边缘的偏移,作为pdf文档整体在前端框架页面上的坐标x2,y2;
38.用鼠标点击点在前端框架页面上的坐标x1,y1分别减去pdf文档整体在前端框架页面上的坐标x2,y2,得到鼠标在pdf文档中的坐标x0,y3;
39.获取鼠标点击时选中的目标对象的高度值h,利用该高度值h减去鼠标在pdf文档中的纵坐标y3,作为点击点在前端pdf文档中的纵坐标y0,得到鼠标点击点在前端pdf文档中的坐标x0,y0。
40.根据第二方面的某些实施方式,后台服务模块被配置为根据下式得到鼠标点击点在pdf文档中的坐标:
41.x=x0*w1/w2;
42.y=y0*h1/h2。
43.其中,w1,h1分别为pdf文档在后台服务器上一页矩形对象的长度和宽度值,w2,h2分别为一页pdf文档在前端框架中所对应的长度和高度,x0,y0分别为点击点在前端pdf文档中的横坐标和纵坐标。
44.根据本发明的第三方面,提供一种电子云签章的签章位置定位装置,包括前端处理模块和后台服务模块,其中前端处理模块在前端框架中展示信息,前端处理模块包括:
45.展示单元,获取并展示待签章的pdf文档;
46.判断单元,基于鼠标点击事件,判断点击点是否在pdf文档上;
47.坐标信息获取单元,当点击点在pdf文档上时,获取点击点在pdf文档中的页码、一页pdf文档在前端框架中所对应的长度和高度,并计算点击点在前端pdf文档中的坐标;
48.信息传递单元,将点击点在pdf文档中的页码、一页pdf文档在前端框架中所对应的长度和高度、点击点在前端pdf文档中的坐标传给后台服务模块;
49.后台服务模块包括:
50.实际坐标确定单元,根据一页pdf文档在前端框架中所对应的长度和高度、点击点在前端pdf文档中的坐标计算签章位置在pdf文档中的实际坐标;
51.位置确定单元,根据点击点在pdf文档的页码以及签章位置在pdf文档中的实际坐标,确定签章的真实位置。
52.根据第三方面的某些实施方式,所述坐标信息获取单元包括:
53.第一坐标获取单元,以前端框架中页面左上角为原点,获取鼠标点击点在前端框架页面上的坐标x1,y1;
54.第二坐标获取单元,获取鼠标点击时选中的目标对象相对于前端框架页面左侧和上侧边缘的偏移,作为pdf文档整体在前端框架页面上的坐标x2,y2;
55.第一坐标计算单元,用鼠标点击点在前端框架页面上的坐标x1,y2分别减去pdf文档整体在前端框架页面上的坐标x2,y2,得到鼠标在pdf文档中的坐标x0,y3;
56.第二坐标计算单元,获取鼠标点击时选中的目标对象的高度值h,利用该高度值h减去鼠标在pdf文档中的纵坐标y3,作为点击点在前端pdf文档中的纵坐标y0,得到鼠标点
击点在前端pdf文档中的坐标x0,y0。
57.根据第三方面的某些实施方式,实际坐标确定单元根据下式得到鼠标点击点在pdf文档中的坐标:
58.x=x0*w1/w2;
59.y=y0*h1/h2;
60.其中,w1,h1分别为pdf文档在后台服务器上一页矩形对象的长度和宽度值,w2,h2分别为一页pdf文档在前端框架中所对应的长度和高度,x0,y0分别为鼠标点击点在前端pdf文档中的横坐标和纵坐标。
61.根据本发明的第四方面,提供一种计算可读存储介质,该计算机可读存储介质上存储有计算机程序,在处理器执行所述计算机程序时可实现本发明第一方面所述的签章位置定位方法。
62.有益效果:本发明提供一种电子云签章的签章位置定位方法和装置,通过在前端框架中基于鼠标点击事件定位出期望签章点在前端的位置信息,传给后台服务器进行真实的签章点坐标计算,使得签章图片能够精确签章到任意选择的地方。本发明利用前端框架的特点提取信息,通过较为简便的处理即可实现精准的定位,大大提高了云签章的签章效率。
附图说明
63.图1为根据本发明一实施例的电子云签章的签章位置定位方法流程图;
64.图2为根据本发明一实施例的计算签章的前端位置的示意图;
65.图3为根据本发明另一实施例的电子云签章的签章位置定位方法流程图。
具体实施方式
66.下面结合附图对本发明的技术方案作进一步说明。
67.本发明提出一种电子云签章的签章位置定位方法及装置,定位装置包括前端框架和后台服务器,前端框架用于展示pdf文档、签章图片、签章动画;后台服务器用于计算真实的签章位置,并完成签章,产生签章后的pdf文档。出于简洁和说明性目的,本文主要参考其示范实施例来描述本发明的原理,前端框架的实现方法有很多,在以下实施例中,主要针对采用html5(第5个版本的“描述网页的标准语言”)实现的前端框架进行说明。但是,本领域技术人员将容易地认识到,相同的原理可以等效地应用于所有类型的基于html5技术的前端实现。本发明定位方法是基于定位装置的组成部分互相配合实现的。因此,以下主要从方法的角度描述本发明的技术方案。
68.图1所示是根据本发明一实施例的定位签章位置的方法实施流程图。方法包括:
69.步骤s101,前端框架获取并展示待签章的pdf文档。
70.实施例中前端框架采用的是pdf.js,pdf.js专门用于pdf文档的展示,pdf.js展现的pdf文件本文是通过html的《iframe》标签来实现。在pdf.js前端框架中,pdf文档渲染在html的class为textlayer的div标签中。而pdf文档不同的内容包含在不同的div标签中,这些div标签为textlayer的子标签,因此可以通过判定class是否为textlayer来判定鼠标点击的地方是否在pdf文档上。如果不是pdf.js,则只要是前端采用html5来实现,都可以通过
html5的div标签的属性来进行判断,本发明的方法也是适用的。
71.点击签章按钮后,签章图片随着鼠标的移动而移动。为了在html中获取点击点对应的对象,鼠标和签章图片的位置有一定的距离,通过这种错开的方式,在签章图片随鼠标移动而移动时,可以在html中获取鼠标点击点在pdf文档中所对应的对象。这里,鼠标和签章图片的位置有一定的距离指的是鼠标不在图片上,而在图片的左上角,如果鼠标在图片上,则获取不了pdf文档上的点击点。例如,在展示签章图片时,获取鼠标的位置,将图片相对鼠标的位置向右下方移动一点距离,加入鼠标的坐标为(0,0),则图片显示的坐标为(5px,-5px)。
72.步骤s102,基于鼠标点击事件,判断点击点是否在pdf文档上。
73.判定前端的点击点是否在pdf文本上,通过html中的class来判断。在实施例中,获取点击点对应的对象,判断该对象的class属性是否为textlayer,如果是,则判定点击点在pdf文档上,如果不是,则递归判定该对象的父元素的class属性是否为textlayer,即判断当前对象的父元素的class属性是否为textlayer,如不是,则继续判断该父元素的父元素的class属性,如果父元素中一直到顶层元素都不存在class属性为textlayer的父元素,则判定点击点不在pdf文档上。
74.步骤s103,当点击点在pdf文档上时,获取点击点在pdf文档中的页码、一页pdf文档在前端框架中所对应的长度和高度,并计算点击点在前端pdf文档中的坐标。
75.对于用浏览器展示的pdf文档,都可以通过相应标签属性获取页码。在pdf.js框架中,对于pdf文档的每一页,都放在一个class="page"的div标签中,同时用属性data-page-number表示页数pageno,因此对于页码的获取可以通过这个属性得到。
76.获取一页pdf文档在前端所对应的长度pagewidth和高度pageheight的方法如下:
77.pagewidth=$obj.css("width");
78.pageheight=$obj.css("height");
79.$obj是触发点击事件的jquery对象,点击事件是步骤s102对应的点击事件。
80.前端点击点的位置坐标需要经过一系列的计算,得到在前端展示的pdf文档所在的页上相对于左下角的坐标。参照图2标示的各变量位置关系图,计算点击点在前端pdf文档中的坐标包括:
81.(1)以前端框架中页面左上角为原点,获取鼠标点击点在前端框架页面上的坐标。
82.整个pdf文档是展示在html的标签《iframe》中。《iframe》标签创建包含另一个文档的行内框架,这个文档的对象为document,在这个document中包含了用于展示的pdf文档。用(event.pagex,event.pagey)来获取鼠标相对于《iframe》中document左上角为原点的坐标,event表示鼠标点击事件,pagex、pagey表示鼠标在页面上的横坐标和纵坐标,如图2所示,从页面左上角开始,为参考点。
83.(2)获取鼠标点击时选中的目标对象相对于前端框架页面的偏移,作为pdf文档整体在前端框架页面上的坐标(xx,yy)。
84.设定鼠标点击点的jquery对象为object,object的offset()方法返回匹配元素相对于文档的偏移,则有如下计算公式:
85.var offset=object.offset();
86.var xx=offset.left;
87.var yy=offset.top;
88.可得到pdf文档作为一个整体相对于document原点的位置(xx,yy)。
89.(3)用鼠标点击点在前端框架页面上的坐标减去pdf文档整体在前端框架页面上的坐标,得到鼠标在pdf文档中的坐标,即有:
90.var targetx=event.pagex-xx;
91.var targety1=event.pagey-yy;
92.(4)获取鼠标点击时选中的目标对象的高度值height,利用该高度值height减去鼠标在pdf文档中的纵坐标targety1,作为点击点在前端pdf文档中的纵坐标targety,从而确定了鼠标点击点在前端pdf文档中的坐标(targetx,targety)。在本实施例中,通过jquery的css方法obj.css("height")获取height,则有:
93.var height=obj.css("height")
94.targety=height-targety1。
95.步骤s104,将点击点在pdf文档中的页码、一页pdf文档在前端框架中所对应的长度和高度、点击点在前端pdf文档中的坐标传给后台服务器。
96.步骤s105,后台服务器进行坐标转换,并完成签章。
97.targetx、targety、pagewidth、pageheight以像素(px)为单位,而且(targetx,targety)不是pdf文档真正的签章点位置。在后台服务器,签章点的位置以磅(pt)为单位。同时前端和后台服务器是两个不同的系统,因此在使用点击点坐标时,需要转换。所以获取pdf文档在后台服务器上一页的rectangle对象中的值(widths,heights),这里rectangle对象代表一个几何图形,比如矩形,可以通过图形的左下方和右上方两个坐标来确定图形,rectangle对象里面有pdf文档所对应的一页的长度和宽度。(widths,heights)就表示一页pdf文档在后台服务器所表示的长度和宽度,同时获取前端浏览器展示一页pdf文档的长和宽(pagewidth,pageheight),这样通过前端和后台服务器坐标比例换算就可以得到签章图片在后台服务器中真实的位置坐标(x,y)。如下式所示:
98.x=targetx*widths/pagewidth;
99.y=targety*heights/pageheight;
100.这里的(x,y)就是在pdf文档中真正的签章位置。
101.后台服务器根据点击点在pdf文档的页码以及签章位置在pdf文档中的实际坐标,完成pdf文档的签章。
102.图3是根据本发明另一实施例的定位签章位置的方法实施流程图。在本实施例中,在前端展示一个跑马灯的动画,提供了更为完整全面的展示方案。根据不同的需求,图中步骤的执行顺序可以改变,或者某些步骤可以省略。
103.步骤s201,前端框架获取并展示待签章的pdf文档。
104.其中的前端框架采用的是pdf.js,pdf.js专门用于pdf文档的展示,pdf.js展现的pdf文件本文是通过html的《iframe》标签来实现。在pdf.js前端框架中,pdf文档渲染在html的class为textlayer的div标签中。而pdf文档不同的内容包含在不同的div标签中,这些div标签为textlayer的子标签,因此可以通过判定class是否为textlayer来判定鼠标点击的地方是否在pdf文档上。点击签章按钮后,签章图片随着鼠标的移动而移动。
105.步骤s202,将鼠标移动到需要签章的地方,点击鼠标左键后,获取点击点在html中
对应的对象,设定为obj1,判定点击点是否在pdf文档上,判定的依据为该对象obj1的class属性是否为textlayer,如果是就可以判定点击点在pdf文档上,如果不是,则递归判定obj1的父元素的class属性是否为textlayer,如果父元素的父元素,一直到了顶层元素都没法确认class属性为textlayer,则可以判定点击点不在pdf文档上,比如点击点在浏览器的滚动条上等,此时则结束本次签章行为。
106.步骤s203,若判定点击点在pdf文档上,则展示签章的跑马灯动画。
107.步骤s204,同时前端开启一个新的线程,循环查询后台服务器签章是否完成。如果签章没有完成,则等待一定时间(例如3秒)后继续查询,并继续展示跑马灯动画。
108.步骤s205,本步骤在主线程中,获取点击点在本pdf文档中第几页,在pdf.js框架中,对于pdf文档的每一页,都放在一个class="page"的div标签中,同时用属性data-page-number表示页数pageno,因此对于页码的获取可以通过这个属性得到。用(event.pagex,event.pagey)来获取鼠标相对于《iframe》中document左上角为原点的坐标,event表示鼠标点击事件,pagex、pagey表示鼠标在页面上的位置,从页面左上角开始,为参考点。同时设定鼠标点击点的jquery对象为object,object的offset()方法返回匹配元素相对于文档的偏移,则有如下计算公式:
109.var offset=object.offset();
110.var xx=offset.left;
111.var yy=offset.top;
112.可得到pdf文档作为一个整体相对于document原点的位置(xx,yy)。用鼠标的位置减去签章的位置就是鼠标在pdf文档中的位置(targetx,targety1)。
113.var targetx=event.pagex-xx;
114.var targety1=event.pagey-yy;
115.再通过jquery的css方法obj.css("height")获取height,最后就可以得到签章时,相对于左下角的坐标(targetx,targety):
116.var height=obj.css("height");
117.targety=height-targety1;
118.从而就获得了鼠标在前端pdf插件上点击所需要的第几页,以及该页上的坐标(targetx,targety)。这里的targetx,targety就是最终需要传给后台服务器的坐标数据。
119.步骤s206,将步骤s305中的前端点击点所在的页码pageno、横坐标targetx、纵坐标targety传给后台服务器。
120.步骤s207,后台服务器获取前端发送的页码pageno、横坐标targetx、纵坐标targety,以及一页pdf文档的pagewidth、pageheight。targetx、targety、pagewidth、pageheight以像素(px)作为单位,而且(targetx,targety)不是pdf文档真正的签章点位置。在后台服务器,签章点的位置以以磅(pt)为单位。同时前端和后台服务器是两个不同的系统,因此在使用点击点坐标时,需要转换。所以获取pdf文档在后台服务器上一页的rectangle对象中的值(widths,heights),其表示一页pdf文档在后台服务器所表示的长度和宽度,同时获取前端浏览器展示一页pdf文档的长和宽(pagewidth,pageheight),这样通过前端和后台服务器坐标比例换算就可以得到签章图片在后台服务器中真实的位置坐标(x,y)。如以下公式所示:
121.x=targetx*widths/pagewidth;
122.y=targety*heights/pageheight;
123.这里的(x,y)就是在pdf文档中真正的签章位置。
124.步骤s208,后台服务器获取了pdf文档的页码,真实签章位置的坐标,则可以以这些数据作为参数,完成pdf文档的签章。产生签章后的pdf文档。后台服务器签章工作结束。
125.步骤s209,在s204继续查询后台服务器是否完成签章后,查询到后台服务器已经完成签章,则隐藏跑马灯动画,展现签章后的pdf文档。
126.本发明的另一实施例提供一种电子云签章的签章位置定位装置,包括前端处理模块和后台服务模块,其中前端处理模块在前端框架中展示信息,前端处理模块被配置为:
127.获取并展示待签章的pdf文档;
128.基于鼠标点击事件,判断点击点是否在pdf文档上;
129.当点击点在pdf文档上时,获取点击点在pdf文档中的页码、一页pdf文档在前端框架中所对应的长度和高度,并计算点击点在前端pdf文档中的坐标;
130.将点击点在pdf文档中的页码、一页pdf文档在前端框架中所对应的长度和高度、点击点在前端pdf文档中的坐标传给后台服务器;
131.后台服务模块被配置为:
132.根据一页pdf文档在前端框架中所对应的长度和高度、点击点在前端pdf文档中的坐标计算签章位置在pdf文档中的坐标;
133.根据点击点在pdf文档的页码以及签章位置在pdf文档中的坐标,完成pdf文档的签章。
134.在前端框架中,签章图片随鼠标的移动而移动,且鼠标与签章图片的位置之间存在指定距离。
135.前端处理模块被配置为根据以下步骤计算点击点在前端pdf文档中的坐标:
136.以前端框架中页面左上角为原点,获取鼠标点击点在前端框架页面上的坐标(event.pagex,event.pagey),event表示鼠标点击事件,pagex、pagey表示鼠标在页面上的横坐标和纵坐标;
137.获取鼠标点击时选中的目标对象相对于前端框架页面左侧和上侧边缘的偏移,作为pdf文档整体在前端框架页面上的坐标(xx,yy);
138.用鼠标点击点在前端框架页面上的坐标(event.pagex,event.pagey)分别减去pdf文档整体在前端框架页面上的坐标(xx,yy),得到鼠标在pdf文档中的坐标(targetx,targety1);
139.获取鼠标点击时选中的目标对象的高度值height,利用该高度值height减去鼠标在pdf文档中的纵坐标targety1,作为点击点在前端pdf文档中的纵坐标targety,从而确定了鼠标点击点在前端pdf文档中的坐标(targetx,targety)。
140.进一步地,后台服务模块被配置为根据下式得到鼠标点击点在pdf文档中的坐标:
141.x=targetx*widths/pagewidth;
142.y=targety*heights/pageheight;
143.其中,(widths,heights)表示pdf文档在后台服务器上一页矩形对象的长度和宽度值,(pagewidth,pageheight)为一页pdf文档在前端框架中所对应的长度和高度,
144.(targetx,targety)为鼠标点击点在前端pdf文档中的坐标。
145.进一步地,后台服务模块被配置为根据确定的签章的真实位置完成签章动作,前端框架进一步被配置为基于签章完成动作,展示签章完成后的pdf文档。
146.作为更优选的实施方式,前端框架被配置为当基于鼠标点击事件,判断点击点在pdf文档上时,展示签章的跑马灯动画,并启动定时器定期查询后台服务模块是否完成签章,当查询到后台服务模块完成签章时,隐藏跑马灯动画并展示签章后的pdf文档。
147.根据本发明的又一实施例,提供一种电子云签章的签章位置定位装置,包括前端处理模块和后台服务模块,其中前端处理模块在前端框架中展示信息,前端处理模块包括:
148.展示单元,获取并展示待签章的pdf文档;
149.判断单元,基于鼠标点击事件,判断点击点是否在pdf文档上;
150.坐标信息获取单元,当点击点在pdf文档上时,获取点击点在pdf文档中的页码、一页pdf文档在前端框架中所对应的长度和高度,并计算点击点在前端pdf文档中的坐标;
151.信息传递单元,将点击点在pdf文档中的页码、一页pdf文档在前端框架中所对应的长度和高度、点击点在前端pdf文档中的坐标传给后台服务模块;
152.后台服务模块包括:
153.实际坐标确定单元,根据一页pdf文档在前端框架中所对应的长度和高度、点击点在前端pdf文档中的坐标计算签章位置在后台pdf文档中的实际坐标;
154.位置确定单元,根据点击点在pdf文档的页码以及签章位置在pdf文档中的实际坐标,确定签章的真实位置。
155.作为一种优选的实施方式,判断单元判断点击点是否在pdf文档上的方式为:获取点击点对应的对象,判断该对象的class属性是否为textlayer,如果是,则判定点击点在pdf文档上,如果不是,则递归判定该对象的父元素的class属性是否为textlayer,如果父元素中一直到顶层元素都不存在class属性为textlayer的父元素,则判定点击点不在pdf文档上。
156.当判断单元判断点击点在pdf文档上时,坐标信息获取单元根据前端框架的实现技术通过获取相应的标签属性来获取点击点在pdf文档中的页码、一页pdf文档在前端框架中所对应的长度和高度,并计算点击点在前端pdf文档中的坐标。
157.作为一种优选的实施方式,坐标信息获取单元包括:
158.第一坐标获取单元,以前端框架中页面左上角为原点,获取鼠标点击点在前端框架页面上的坐标(event.pagex,event.pagey),event表示鼠标点击事件,pagex、pagey表示鼠标在页面上的横坐标和纵坐标;
159.第二坐标获取单元,获取鼠标点击时选中的目标对象相对于前端框架页面的偏移,作为pdf文档整体在前端框架页面上的坐标(xx,yy);
160.第一坐标计算单元,用鼠标点击点在前端框架页面上的坐标(event.pagex,event.pagey)分别减去pdf文档整体在前端框架页面上的坐标(xx,yy),得到鼠标在pdf文档中的坐标(targetx,targety1);
161.第二坐标计算单元,获取鼠标点击时选中的目标对象的高度值height,利用该高度值height减去鼠标在pdf文档中的纵坐标targety1,作为点击点在前端pdf文档中的纵坐标targety,从而确定了鼠标点击点在前端pdf文档中的坐标(targetx,targety)。
162.基于坐标信息获取单元所得的信息,信息传递单元将点击点在pdf文档中的页码、一页pdf文档在前端框架中所对应的长度和高度、点击点在前端pdf文档中的坐标传给后台服务模块,后台服务模块中的实际坐标确定单元计算签章位置在后台服务器的展示对象中的pdf文档中的实际坐标。具体地,实际坐标确定单元获取pdf文档在后台服务器上一页矩形对象的长度和宽度值(widths,heights),结合一页pdf文档在前端框架中所对应的长度和高度(pagewidth,pageheight)以及点击点在前端pdf文档中的坐标(targetx,targety),根据下式得到鼠标点击点在pdf文档中的坐标:
163.x=targetx*widths/pagewidth;
164.y=targety*heights/pageheight;
165.(x,y)为最终确定的签章坐标。
166.作为一种优选的实施方式,后台服务模块还包括签章动作单元,根据确定的签章的真实位置完成签章动作。前端框架中展示单元基于签章完成事件或消息展示签章完成后的pdf文档。
167.作为一种优选的实施方式,前端处理模块还包括动画展示单元,当基于鼠标点击事件,判断点击点在pdf文档上时,动画展示单元在前端框架中展示跑马灯动画,并启动定时器定期查询后台服务模块是否完成签章,当查询到后台服务模块完成签章时,隐藏跑马灯动画并展示签章后的pdf文档。
168.应当理解,本发明实施例中的电子云签章的签章位置定位装置可以实现上述方法实施例中的全部技术方案,其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述实施例中的相关描述,此处不再赘述。
169.本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
170.本发明是参照根据本发明实施例的方法、装置、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
171.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
172.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一
个方框或多个方框中指定的功能的步骤。
173.最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1