本申请涉及电子签章技术领域,尤其涉及一种电子签章方法、装置、计算机设备及存储介质。
背景技术:
随着信息技术和计算机网络在社会各个领域应用的深入,电子协同办公应用正在变得越来越广泛,其高效、节约资源的优势也在日益凸显。而在电子协同办公中,如何保障电子文档的完整性、机密性、文档发送者身份的可认证性以及签署人的抗抵赖性,成为亟需解决的问题。电子签章技术正是在此需求下形成并成为不可或缺的一种技术手段。
目前,电子签章的位置默认放置在审批单框的右上角,以框的右边框为纵坐标,框的上边框为横坐标建立坐标系,签章的默认位置如图1所示。如果一个部门存在多个电子签章,意味着同一个部门框内需要放置多个签章图片,默认情况下多个签章会完全重叠右上角,因此现有电子签章的显示效果较差。
技术实现要素:
本申请实施例提供一种电子签章方法、装置、计算机设备及存储介质,用于提高电子签章的显示效果。
本发明实施例提供一种电子签章方法,所述方法包括:
获取目标区域框的高度和宽度,以及与所述目标区域对应的电子签章;
确定所述目标区域对应的电子签章的个数及半径;
通过所述电子签章的个数及半径计算排列所述电子签章所需的长度;
根据所述电子签章所需的长度、所述目标区域框的高度和宽度确定在所述目标区域框中显示所述电子签章的排列方式,所述排列方式包括横向排列和/或竖向排列。
本发明实施例提供一种电子签章装置,所述装置包括:
获取模块,用于获取目标区域框的高度和宽度,以及与所述目标区域对应的电子签章;
确定模块,用于确定所述目标区域对应的电子签章的个数及半径;
计算模块,用于通过所述电子签章的个数及半径计算排列所述电子签章所需的长度;
排列模块,用于根据所述电子签章所需的长度、所述目标区域框的高度和宽度确定在所述目标区域框中显示所述电子签章的排列方式,所述排列方式包括横向排列和/或竖向排列。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述电子签章方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述电子签章方法。
本发明提供一种电子签章方法、装置、计算机设备及存储介质,首先获取目标区域框的高度和宽度,以及与所述目标区域对应的电子签章;确定所述目标区域对应的电子签章的个数及半径;通过所述电子签章的个数及半径计算排列所述电子签章所需的长度;根据所述电子签章所需的长度、所述目标区域框的高度和宽度确定在所述目标区域框中显示所述电子签章的排列方式,所述排列方式包括横向排列和/或竖向排列。与目前同一个部门的多个签章会完全重叠显示在右上角相比,本发明根据电子签章所需的长度、目标区域框的高度和宽度确定显示电子签章的排列方式,避免了多个电子签章重叠显示的问题,从而通过本发明可以提高电子签章的显示效果。
附图说明
图1为背景技术中电子签章的显示示意图;
图2为本申请提供的电子签章方法流程图;
图3为本申请提供的确定电子签章排列方式的流程图;
图4为本申请提供的竖向排列显示的电子签章的示意图;
图5为本申请提供的横向排列或横向加竖向排列显示电子签章的流程图;
图6为本申请提供的横向排列显示的电子签章的示意图;
图7为本申请提供的横向加竖向排列显示的电子签章的示意图;
图8为本申请一个实施例提供的电子签章装置的结构框图;
图9为本申请一个实施例提供的计算机设备的一示意图。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本申请实施例的技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请实施例技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
第一实施例
请参阅图2,所示为本发明第一实施例当中的电子签章方法,所述方法具体包括步骤s10-步骤s40:
步骤s10,获取目标区域框的高度和宽度,以及与所述目标区域对应的电子签章。
其中,目标区域框所在的区域即显示电子签章的区域,同一个目标区域框可对应有一个或多个电子签章,若有多个电子签章,则每个电子签章都对应签章顺序,该签章顺序即签章的排列顺序。
步骤s20,确定所述目标区域对应的电子签章的个数及半径。
步骤s30,通过所述电子签章的个数及半径计算排列所述电子签章所需的长度。
需要说明的是,本实施例中各电子签章的半径可以是相同的,也可以是不同的。若各电子签章的半径相同,则电子签章所需的长度等于电子签章的个数乘以半径再乘以2,如电子签章的个数为5,半径为2,则电子签章所需要的长度为20;若各电子签章的半径不同,则电子签章所需的长度等于各电子签章直径的累加和,如电子签章的个数为3,半径分别为1、2、3,则电子签章所需要的长度为12。
步骤s40,根据所述电子签章所需的长度、所述目标区域框的高度和宽度确定在所述目标区域框中显示所述电子签章的排列方式,所述排列方式包括横向排列和/或竖向排列。
需要说明的是,本实施例中包括多个目标区域框,每个目标区域对应有一个或多个电子签章,在确定各个目标区域框中电子签章的显示排列方式之后,按照该排列顺序将电子签章添加到目标区域框中,最后将所有添加有电子签章的目标区域框按照预置顺序进行拼接组合得到审批页面。
本发明提供一种电子签章方法,首先获取目标区域框的高度和宽度,以及与所述目标区域对应的电子签章;确定所述目标区域对应的电子签章的个数及半径;通过所述电子签章的个数及半径计算排列所述电子签章所需的长度;根据所述电子签章所需的长度、所述目标区域框的高度和宽度确定在所述目标区域框中显示所述电子签章的排列方式,所述排列方式包括横向排列和/或竖向排列。与目前同一个部门的多个签章会完全重叠显示在右上角相比,本发明根据电子签章所需的长度、目标区域框的高度和宽度确定显示电子签章的排列方式,避免了多个电子签章重叠显示的问题,从而通过本发明可以提高电子签章的显示效果。
第二实施例
如图3所示,为本发明第二实施例当中的电子签章方法,根据电子签章所需的长度、目标区域框的高度和宽度确定在所述目标区域框中显示所述电子签章的排列方式,包括:
步骤s401,判断所述电子签章所需的长度是否小于等于所述目标区域框的高度。
步骤s402a,若所述电子签章所需的长度小于等于所述目标区域框的高度,则按照所述电子签章的签章顺序在所述目标区域框中竖向排列显示所述电子签章。
设定目标区域框的高度是h,宽度是w,各电子签章半径均为r,一个目标区域框内签章个数为n,当目标区域框的高度可以排列所有电子签章,也就是当(n*2r)<=h时,在所述目标区域框中竖向排列显示所述电子签章。
具体的,所述按照所述电子签章的签章顺序在所述目标区域框中竖向排列显示所述电子签章,包括:以所述目标区域框的右上角为原点建立坐标系;根据所述电子签章的签章顺序和所述电子签章的半径确定各电子签章在所述坐标系中的位置坐标(x,y);其中,x=r;y=(2k-1)*r;所述r为所述电子签章的半径,所述k为所述电子签章的签章顺序。
如图4所示竖向排列显示的电子签章,若r为2,将k的取值1-3带入上述位置坐标公式,得第1个电子签章的坐标为(2,2)、第2个电子签章的坐标为(2,6)、第3个电子签章的坐标为(2,10)。
步骤s402b,若所述电子签章所需的长度大于所述目标区域框的高度,则按照所述电子签章的签章顺序在所述目标区域框中横向排列或横向加竖向排列显示所述电子签章。
其中,步骤s402b是步骤s402a的并列步骤,若电子签章所需的长度大于所述目标区域框的高度,则按照所述电子签章的签章顺序在所述目标区域框中横向排列或横向加竖向排列显示所述电子签章。
具体的,如图5所示,所述按照所述电子签章的签章顺序在所述目标区域框中横向排列或横向加竖向排列显示所述电子签章,包括:
步骤s01,判断电子签章所需的长度是否小于等于目标区域框的宽度。
步骤s02,若所述电子签章所需的长度小于等于所述目标区域框的宽度,则按照所述电子签章的签章顺序在所述目标区域框中横向排列显示所述电子签章。
设定目标区域框的高度是h,宽度是w,各电子签章半径均为r,一个目标区域框内签章个数为n,当目标区域框的高度无法竖向排列所有电子签章,且目标区域框的宽度可以排下所有电子签章,也就是当(n*2r)>h且(n*2r)<=w时,按照所述电子签章的签章顺序横向排列显示所述电子签章。
根据本发明的一个进一步的实施例,各电子签章所占据的图像平面区域均被设置为圆形。进一步的,当(n*2*r1)>h且(n*2*r2)<=h时,r被设置为r2;当(n*2*r2)>h且(n*2*r2)<=w,r被设置为r1。其中,r1=sqrt(a2+b2)/2,a和b为电子签章所占据的图像平面的外接包围盒长和宽,r2为电子签章所占据的图像的外接圆的半径。
具体的,所述按照所述电子签章的签章顺序横向排列显示所述电子签章,包括:以所述目标区域框的右上角为原点建立坐标系;根据所述电子签章的签章顺序和所述电子签章的半径确定各电子签章在所述坐标系中的位置坐标(x,y);其中,x=(((n-k)*2)+1)*r;y=r;所述r为所述电子签章的半径,所述k为所述电子签章的签章顺序,所述n为所述电子签章的个数。
如图6所示横向排列显示的电子签章,若r为2,将k的取值1-3和n=3带入上述位置坐标公式,得到第1个电子签章的坐标为(10,2)、第2个电子签章的坐标为(6,2)、第3个电子签章的坐标为(2,2)。
步骤s03,若所述电子签章所需的长度大于所述目标区域框的宽度,则按照所述电子签章的签章顺序在所述目标区域框中横向加竖向排列显示所述电子签章。
具体的,所述按照所述电子签章的签章顺序在所述目标区域框中横向加竖向排列显示所述电子签章,包括:以所述目标区域框的右上角为原点建立坐标系;根据所述电子签章的签章顺序和所述电子签章的半径确定各电子签章在所述坐标系中的位置坐标(x,y);其中,
所述r为所述电子签章的半径,所述k为所述电子签章的签章顺序,所述n为所述电子签章的个数,所述
如图7所示横向加竖向排列显示的电子签章,若r为2,w为16,经过计算a=4,将k的取值1-9和n=3带入上述位置坐标公式,经过计算得到各个电子签章的坐标如下所示:
第1个电子签章的坐标为(14,2)、第2个电子签章的坐标为(10,2)、第3个电子签章的坐标为(6,2)、第4个电子签章的坐标为(2,2);
第5个电子签章的坐标为(14,6)、第6个电子签章的坐标为(10,6)、第7个电子签章的坐标为(6,6)、第8个电子签章的坐标为(2,6);
第9个电子签章的坐标为(14,10)。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种电子签章装置,该电子签章装置与上述实施例中电子签章方法一一对应。如图8所示,所述电子签章装置各功能模块详细说明如下所示:
获取模块10,用于获取目标区域框的高度和宽度,以及与所述目标区域对应的电子签章;
确定模块20,用于确定所述目标区域对应的电子签章的个数及半径;
计算模块30,用于通过所述电子签章的个数及半径计算排列所述电子签章所需的长度;
排列模块40,用于根据所述电子签章所需的长度、所述目标区域框的高度和宽度确定在所述目标区域框中显示所述电子签章的排列方式,所述排列方式包括横向排列和/或竖向排列。
具体的,所述排列模块40,包括:
判断单元41,用于判断所述电子签章所需的长度是否小于等于所述目标区域框的高度;
排序单元42,用于若所述电子签章所需的长度小于等于所述目标区域框的高度,则按照所述电子签章的签章顺序在所述目标区域框中竖向排列显示所述电子签章。
进一步的,所述排序单元42,还用于若所述电子签章所需的长度大于所述目标区域框的高度,则按照所述电子签章的签章顺序在所述目标区域框中横向排列或横向加竖向排列显示所述电子签章。
进一步的,所述排序单元42,具体用于:
判断所述电子签章所需的长度是否小于等于所述目标区域框的宽度;
若所述电子签章所需的长度小于等于所述目标区域框的宽度,则按照所述电子签章的签章顺序在所述目标区域框中横向排列显示所述电子签章;
若所述电子签章所需的长度大于所述目标区域框的宽度,则按照所述电子签章的签章顺序在所述目标区域框中横向加竖向排列显示所述电子签章。
进一步的,所述排序单元42,具体用于:
以所述目标区域框的右上角为原点建立坐标系;
根据所述电子签章的签章顺序和所述电子签章的半径确定各电子签章在所述坐标系中的位置坐标(x,y);
其中,x=r;y=(2k-1)*r;
所述r为所述电子签章的半径,所述k为所述电子签章的签章顺序。
进一步的,所述排序单元42,具体用于:
以所述目标区域框的右上角为原点建立坐标系;
根据所述电子签章的签章顺序和所述电子签章的半径确定各电子签章在所述坐标系中的位置坐标(x,y);
其中,x=(((n-k)*2)+1)*r;y=r;
所述r为所述电子签章的半径,所述k为所述电子签章的签章顺序,所述n为所述电子签章的个数。
进一步的,所述排序单元42,具体用于:
以所述目标区域框的右上角为原点建立坐标系;
根据所述电子签章的签章顺序和所述电子签章的半径确定各电子签章在所述坐标系中的位置坐标(x,y);
其中,
所述r为所述电子签章的半径,所述k为所述电子签章的签章顺序,所述n为所述电子签章的个数,所述
关于电子签章装置的具体限定可以参见上文中对于电子签章方法的限定,在此不再赘述。上述设备中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种电子签章方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取目标区域框的高度和宽度,以及与所述目标区域对应的电子签章;
确定所述目标区域对应的电子签章的个数及半径;
通过所述电子签章的个数及半径计算排列所述电子签章所需的长度;
根据所述电子签章所需的长度、所述目标区域框的高度和宽度确定在所述目标区域框中显示所述电子签章的排列方式,所述排列方式包括横向排列和/或竖向排列。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取目标区域框的高度和宽度,以及与所述目标区域对应的电子签章;
确定所述目标区域对应的电子签章的个数及半径;
通过所述电子签章的个数及半径计算排列所述电子签章所需的长度;
根据所述电子签章所需的长度、所述目标区域框的高度和宽度确定在所述目标区域框中显示所述电子签章的排列方式,所述排列方式包括横向排列和/或竖向排列。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。