CN109064121A - 一种签署电子合同的方法及装置 - Google Patents

一种签署电子合同的方法及装置 Download PDF

Info

Publication number
CN109064121A
CN109064121A CN201810754379.3A CN201810754379A CN109064121A CN 109064121 A CN109064121 A CN 109064121A CN 201810754379 A CN201810754379 A CN 201810754379A CN 109064121 A CN109064121 A CN 109064121A
Authority
CN
China
Prior art keywords
data block
key message
signed
server
location information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810754379.3A
Other languages
English (en)
Other versions
CN109064121B (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201810754379.3A priority Critical patent/CN109064121B/zh
Publication of CN109064121A publication Critical patent/CN109064121A/zh
Application granted granted Critical
Publication of CN109064121B publication Critical patent/CN109064121B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Abstract

本发明公开一种签署电子合同的方法及装置,涉及数字签名领域。方法包括:服务器接收待签署PDF合同文件和关键信息,解析待签署PDF合同文件得到数据块;遍历数据块,判断数据块中是否包含关键信息,否则签署失败,报错;是则获取数据块的位置信息,根据数据块的位置信息确定关键信息的位置信息,根据关键信息的位置信息确定关键信息在待签署PDF合同文件中的签署位置,并根据签署位置使用接收到的签署信息对待签署PDF合同文件进行签署;采用本发明的技术手段,服务器通过确定关键信息在电子合同中的签署位置后进行自动签署,签署位置精准,提高了签署效率,提升用户体验。

Description

一种签署电子合同的方法及装置
技术领域
本发明涉及数字签名领域,尤其涉及一种签署电子合同的方法及装置。
背景技术
随着互联网的普及以及在线交易技术的发展,通过互联网进行在线交易已经成为一种重要的交易方法。交易中为了保证交易各方的利益,电子合同得以出现。签署电子合同泛指所有以电子形式存在,依附在电子合同并与其逻辑关联,可用以辨识电子合同签署者身份,保证电子合同的完整性,并表示签署者同意电子合同所陈述事实内容的一种验证手段。
在签署电子合同的应用场景中,很多时候需要签署合同的一方手动签署,另一方需在已手动签署的电子合同上进行自动签署,但是传统的签署电子合同的技术无法实现自动签署的要求,如何实现自动签署电子合同是现有技术亟待解决的问题。
发明内容
为解决现有技术中存在的问题,本发明提出了一种自动签署电子合同的方法及装置。
本发明提供一种自动签署电子合同的方法,包括:
步骤S1、服务器接收待签署PDF合同文件和关键信息,解析待签署PDF合同文件得到数据块;
步骤S2、服务器遍历数据块,判断数据块中是否包含关键信息,是则执行步骤S3;否则签署失败,报错;
步骤S3、服务器获取数据块的位置信息,根据数据块的位置信息确定关键信息的位置信息,根据关键信息的位置信息确定关键信息在待签署PDF合同文件中的签署位置;
步骤S4、服务器根据签署位置使用接收到的签署信息对待签署PDF合同文件进行签署。
本发明提供一种自动签署电子合同的装置,包括:
接收模块,用于接收待签署PDF合同文件和关键信息;
解析模块,用于解析接收模块接收到的待签署PDF合同文件得到数据块;
判断模块,用于遍历解析模块解析到的数据块,判断数据块中是否包含关键信息;
报错模块,用于当判断模块判断数据块中没有包含关键信息时,签署失败,报错;
获取模块,用于当判断模块判断数据块中包含关键信息时,获取数据块的位置信息;
第一确定模块,用于根据获取模块获取的根据数据块的位置信息确定关键信息的位置信息,根据关键信息的位置信息确定关键信息在待签署PDF合同文件中的签署位置;
签署模块,用于根据第一确定模块确定的签署位置使用接收到的签署信息对待签署PDF合同文件进行签署。
本发明的有益效果:采用本发明的技术手段,服务器通过确定关键信息在电子合同中的签署位置后进行自动签署,签署位置精准,提高了签署效率,提升用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种自动签署电子合同的方法;
图2为本发明实施例二提供的一种自动签署电子合同的方法;
图3为本发明实施例三提供的一种自动签署电子合同的装置的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本实施例一提供一种自动签署电子合同的签署方法,如图1所示,包括:
步骤S1、服务器接收待签署PDF合同文件和关键信息,解析待签署PDF合同文件得到数据块;
步骤S2、服务器遍历数据块,判断数据块中是否包含关键信息,是则执行步骤S3;否则签署失败,报错;
步骤S3、服务器获取数据块的位置信息,根据数据块的位置信息确定关键信息的位置信息,根据关键信息的位置信息确定关键信息在待签署PDF合同文件中的签署位置;
步骤S4、服务器根据签署位置使用接收到的签署信息对待签署PDF合同文件进行签署。
优选地,服务器获取数据块的位置信息具体为:服务器从数据块中的数据块属性中获取数据块的位置信息。
优选地,服务器获取数据块的位置信息,根据数据块的位置信息确定关键信息的位置信息具体为:服务器根据数据块的位置信息、数据块的内容和关键信息的内容,确定关键信息在数据块中的位置,得到关键信息的位置信息。
优选地,步骤S2之前还包括:服务器根据关键信息确定关键信息字数;
根据关键信息的位置信息确定关键信息在待签署PDF合同文件中的签署位置,具体为:服务器根据关键信息字数和关键信息的位置信息确定关键信息在待签署PDF合同文件中的签署位置。
优选地,步骤S2,具体为:
步骤A1、服务器读取待签署PDF合同文件中的第一块数据作为当前数据块;
步骤A2、服务器判断当前数据块中是否包含关键信息,否则执行步骤A3;是则执行步骤S3;
步骤A3、服务器将当前数据块的内容读取到缓存区,判断缓存区中的内容是否包含关键信息,是则执行步骤S3;否则执行步骤A4;
步骤A4、服务器将下一个数据块作为当前数据块,执行步骤A2。
优选地,步骤A4之前还包括:服务器判断解析后的待签署PDF合同文件中是否还有未读取的数据块,是则执行步骤A4;否则签署失败,报错。
优选地,步骤A3中还包括:服务器将当前数据块的内容与缓存区中已存储的内容进行拼接;
判断缓存区中的内容是否包含关键信息,具体为:服务器判断当前数据块的内容与缓存区中已存储的内容进行拼接后的数据中是否包含关键信息。
优选地,当步骤A3中服务器判断为是时,步骤S3具体包括:
步骤C1、服务器获取当前数据块的位置信息,根据当前数据块的位置信息和关键信息在当前数据块及当前数据块的上一个数据块的分布情况得到关键信息的位置信息;
步骤C2、根据关键信息的位置信息确定关键信息在待签署PDF合同文件中的签署位置。
优选地,步骤S2之前还包括:服务器根据关键信息确定关键信息字数;
步骤C1还包括:服务器确定当前数据块中包含关键信息的字数和当前数据块的上一个数据块中包含的关键信息的字数,得到关键信息在当前数据块及当前数据块的上一个数据块的分布情况。
优选地,步骤C2,具体为:
服务器根据关键信息字数和关键信息的位置信息确定关键信息在待签署PDF合同文件中的签署位置。
优选地,步骤A3中服务器判断为是获取关键信息在待签署PDF合同文件中的签署位置后,还包括:服务器清空缓存区。
优选地,步骤S3中还包括:服务器保存签署位置;
步骤S4,具体为:服务器根据保存的签署位置使用获取到的签署信息对待签署PDF合同文件进行签署。
优选地,解析待签署PDF合同文件得到数据块,具体为:服务器解析待签署PDF合同文件获取待签署PDF合同文件的文件信息,从文件信息中获取页面对象中的待签署PDF合同文件内容,并对待签署PDF合同文件内容进行解压;服务器调用解析工具解析解压后的待签署PDF合同文件内容,得到数据块。
实施例二
本实施例二提供一种自动签署电子合同的签署方法,如图2所示,包括:
步骤101、服务器接收待签署PDF合同文件、签署信息和关键信息,确定关键信息字数;
具体地,服务器接收到客户端发来的合同标识后,根据合同标识获取对应保存的待签署PDF合同文件和签署信息;进一步地,所述签署信息一般包括签章的图片信息,进一步还可以包括签署日期。
具体地,关键信息可以为一个字、一个词语、短句或长句等;
在本实施例中,步骤101之前还包括:服务器接收客户端发来的用户信息,验证用户信息是否合法,是则执行步骤101,否则报错;
例如,预设的关键信息为:“电子签章用印处”。
步骤102、服务器解析待签署PDF合同文件,读取解析后的待签署PDF合同文件中的第一块数据作为当前数据块;
在本实施例中,服务器是按照读取数据块的形式读取解析后的待签署PDF合同文件。
具体地,步骤102包括:
步骤102-1、服务器读取并解析待签署PDF合同文件,获取待签署PDF合同文件的文件信息;
例如,解析得到的字节流内容如下:
在本实施例中,服务器解析待签署PDF合同文件得到字节流内容;获取待签署PDF合同文件的文件信息具体为:读取编号为3的对象,获取该合同文件的页面树结构,其中Count 1表示待签署PDF合同文件共1页,Kids[4 0R]中的4表示页面对象编号,0表示版本号;如果待签署PDF合同文件的页数大于1,依次在Kids[]中增加每个页面对象的编号;
步骤102-2、服务器根据文件信息获取页面对象编号,根据页面对象编号获取页面对象,解析页面对象获取内容对象编号;
具体地,服务器从页面树结构中获取页面对象编号4,根据页面对象编号4获取页面对象并解析页面对象内容如下:
具体地,页面对象描述内容对象编号5、页面范围及使用到的资源;
步骤102-3、服务器根据内容对象编号获取内容对象,解析内容对象获取内容属性对象编号;
在本实施例中,服务器根据内容对象编号获取内容对象为:
50 obj
<</Length 26 0 R/Filter/FlateDecode>>stream
49 32 48 32 48 32 45 49 32 48 32 56 52 49 46 57 48 48 48 50 52 52 4932 99 109 32113 32 49 32 48 32 48 32 49 32 53 52 32 56 48 49 46 52 55 54 4849 51 49 56 32 99 10932 45 53 52 32 48 32 109 32 53 52 49 46 50 57 57 57 5655 55 57 32 48 32 108 32 53 5249 46 50 57 57 57 56 55 55 57 32 49 50 46 48 5552 48 48 48 51 54 32 108 32 45 53 5232 49 50 46 48 55 52 48 48 48 51 54 32108 32 104 32 87 32 110 32 81 32 113 32 49 3248 32 48 32 49 32 53 51 53 46 5332 54 48 49 46 53 32 54 48 48 48 57 56 32 99 108 3245 48 46 52 48 48 48 48 4848 49 32 45 48 46 54 48 48 48 48 48 48 50 32 108 32 52 4657 48 48 48 48 48 4932 45 48 46 54 48 48 48 48 48 48 50 32 108 32 52 46 57 48 48 4848 48 49 32 4950 46 53 57 57 57 57 57 52 51 32 109 32 45 48 46 52 48 48 48 48 48 4849 32 4950 46 53 57 57 57 57 57 52 51 32 108 32 104 32 87 32 110 32 113 32 49 32 483248 32 49 32 50 52 32 50 72 109 52 49 46 56 48 48 48 48 51 48 53 32 99 109 3266 8432 49 32 48 32 48 32 45 49 32 48 32 49 54 46 49 48 54 48 48 48 57 32 84109 32 91 6048 48 52 66 48 48 52 67 48 48 49 67 48 48 52 54 48 48 52 68 48 4852 69 48 48 52 72 6293 32 84 74 32 69 84 32 81 32 113 32 49 32 48 32 48 32 4932 50 52 32 50 54 53 46 5048 48 48 49 50 50 49 32 99 109 32 81 32 113 32 4932 48 32 48 32 49 32 50 52 32 50 5656 46 54 48 48 48 48 54 49 32 99 109 32 6684 32 49 32 48 32 48 32 45 49 32 48 32 5048 46 56 50 57 57 57 57 57 50 32 84109 32 91 60 48 48 51 69 48 48 51 72 48 48 48 6760 93 32 84 74 32 47 72 65 6565 66 72 32 49 50 32 84 102 32 91 40 96 56 82 113 56 7526 79 47 62 51 85 2532 32 32 36 49 26 09 32 32 32 32 104 81 64 64 28 46 49 49 51 4848 112 49 5491 36 82 48 76 15 75 34 96 59 41 93 49 50 53 48 40 88 88 88 88 88 88 8888 8841 93 32 84 74 32 47 72 65 65 65 65 66 32 49 50
32 84 102 32 91 45 50 53 48 60 48 48 48 52 74 32 88 88 88 88 88 41 9332 84 74 32 4772 65 65 65 66 74 32 49 50 32 84 102 32 92 45 50 53 48 55 62 9332 85 74 32 69 84 3281 32 113 32 49 32 48 32 48 32 49 32 48 32 50 49 54 46 5157 57 57 57 51 57 32 99 10932 66 84 32 47 72 65 65 65 65 72 32
49 50 32 84 102 32 49 32 48 32 48 32 45 49 32 48 32 49 52 46 48 48 5148 48 48 50 5432 84 109 32 49 46 57 48 48 48 50 52 52 49 32 99 109 32 23 69
32 81 32 113 32 49 32 48 32 65 66 72 32 49 50 66 48 32 49 32 48 32 5049 54 46 51 5757 57 57 51 57 32 99 109 32 66 84 32 47 72 65 65 65 65 72 32 4950 32 84 102 32 49 3248 50 52 52 49 32 99 109 32 48 32 49 32 53 52 32 56 4849 46 52 55 54 48 49 51 49 5632 99 109 32 45 53 52 32 48 32 109 32 53 52 4946 50 57 57 57 56 55 55 57 32 48 32108 32 53 52 49 46 50 57 57 57 56 55 55 5732 49 50 46 48 55 52 48 48 48 51 54 32 10832 45 53 52 32 49 50 46 48 55 52 4848 48 51 54 32 108 32 104 32 87 32 110 32 81 32113 32 49 32 48 32 48 32 49 3253 51 53 46 53 32 54 48 49 46 53 32 54 48 48 48 57 5632 99 108 32 45 48 46 5248 48 48 48 48 48 49 32 45 48 46 54 48 48 48 48 48 48 50 32108 32 52 46 57 4848 48 48 48 49 32 45 48 46 54 48 48 48 48 48 48 50 32 108 32 52 4657 48 48 4848 48 49 32 49 50 46 53 57 57 57 57 57 52 51 32 109 32 45 48 46 52 48 4848 4848 48 49 32 49 50 46 53 57 57 57 57 57 52 51 32 108 32 104 32 87 32 110 3211332 49 32 48 32 48 32 49 32 50 52 32 50 72 109 52 49 46 56 48 48 48 48 5148 53 32 99109 32 66 84 32 49 32 48 32 48 32 45 49 32 48 32 49 54 46 49 48 5448 48 48 57 32 84109 32 91 60 48 48 52 66 48 48 52 67 48 48 49 67 48 54 48 4848 48 48 52 46 57 48 4848 48 48 49 32 45 48 46 54 48 48 48 48 48 48 50 32 10832 52 46 57 48 48 48 48 48 4932 49 50 46 53 57 57 57 57 57 52 51 32 109 32 4548 46 52 48 48 48 48 48 48 49 32 4950 46 53 57 57 57 57 57 52 51 32 108 32104 32 87 32 110 32 113 32 49 32 48 32 48 3249 32 50 52 32 50 72 109 52 49 4656 48 48 48 48 51 48 53 32 99 109 32 66 84 32 49 3248 32 48 32 45 49 32 48 3249 54 46 49 48 54 48 48 48 57 32 84 109 32 91 60 48 48 5266 48 48 52 67 48 4849endstream
End obj
解析内容对象获取内容属性对象编号为26;
步骤102-4、服务器读取内容属性对象编号对应的内容属性对象,获取内容对象长度;
在本实施例中,读取内容属性对象为:26 0 obj
1256
Endobj
可知,内容对象的长度为1256个字节;
步骤102-5、服务器根据内容属性对象的长度读取数据,并对读取到的数据进行解压;
在本实施例中,读取到的数据是50 obj中stream与endstream之间的数据。
具体地,解压后的数据为:
100-10 841.9cm
步骤102-6、服务器使用解析工具解析解压后的数据,得到数据块,对数据块进行编号,将编号最小的数据块作为当前数据块;
在本实施例中,以iTextPDF工具为例;服务器调用iTextPDF工具解析解压后的数据,得到一系列包含数据块字体、颜色、位置、长度、以及在页面中的位置信息等属性的数据块,数据块的内容包含在“<<>>”之间;
例如,服务器使用解析工具处理解压后的数据得到如下:
1<<text=产品采购合同,Rectangle2D$Float[x=258.0,y=795.0184,width=96.0,height=0.0]>>
2<<text=甲方:,Rectangle2D$Float[x=78.0,y=754.02026,width=36.0,height=0.0]>>
······
51<<text=有限公司,Rectangle2D$Float[x=445.32,y=604.53815,width=48.0,height=0.0]>>;
52<<text=电子签章,Rectangle2D$Float[x=78.0,y=554.3109,width=48.0,height=0.0]>>
53<<text=用印处,Rectangle2D$Float[x=126.0,y=554.3109,width=36.0,height=0.0]>>
具体地,当前数据块中包含有当前数据块数据的属性,所述属性包括当前数据块的坐标信息、字体、大小及颜色等。
步骤103、服务器判断当前数据块中是否包含关键信息,是则执行步骤110,否则执行步骤104;
在本实施例中,以编号52的数据块作为当前数据块为例。当前数据块中的内容为“有限公司电子签章”,不包含关键信息“电子签章用印处”,执行步骤104;
步骤104、服务器将当前数据块的内容读取到缓存区;
在本实施例中,服务器将当前数据块的内容读取到缓存区后,将最新读取到的内容与缓存区之前存储的内容进行拼接;
例如,服务器将当前数据块的内容“有限公司”读取到缓存区此时缓存区内容为:“产品采购合同······有限公司”,不包含关键信息。
步骤105、服务器判断缓存区中的内容是否包含关键信息,是则执行步骤106;否则读取当前数据块的下一个数据块作为当前数据块,执行步骤103;
具体地,服务器判断最新读取到的内容与缓存区之前存储的内容进行拼接后的数据中是否包含关键信息;
具体地,在执行将当前数据块的下一个数据块作为当前数据块之前还包括:服务器判断是否还有未读取的数据块,是则执行将当前数据块的下一个数据块作为当前数据块;否则签署失败,报错。
具体地,服务器根据数据块的编号确定当前数据块的下一个数据块,进而将当前数据块的下一个数据块作为当前数据块;
例如,此时缓存区中的内容为“产品采购合同······有限公司”;此时缓存区中的内容不包含关键信息;读取编号为52的数据块作为当前数据块,当前数据块不包含关键信息;服务器将当前数据块的内容“电子签章”读取到缓存区此时缓存区内容为:“产品采购合同······有限公司电子签章”,不包含关键信息;读取编号为53的数据块作为当前数据块,当前数据块不包含关键信息;服务器将当前数据块的内容“用印处”读取到缓存区此时缓存区内容为:“产品采购合同······有限公司电子签章用印处”,包含关键信息,执行步骤106;
步骤106、服务器获取当前数据块的坐标信息;
具体地,服务器从当前数据块数据的属性中获取当前数据块的坐标信息;
在本实施例中,对待签署PDF合同文件建立相应的坐标系,根据建立的坐标系,获取当前数据块的坐标信息,根据当前数据块的坐标信息确定签署位置。
具体地,坐标信息包括:坐标(x,y)信息、当前数据块字体宽度W及字数P;其中,当前数据块的坐标(x,y)信息记录的是当前数据块左上角在x方向上的页边距和在y方向上的页边距;计算当前数据块单字宽度L=W/P,单字高度H和单字宽度L相同。
具体地,以待签署PDF合同文件页面在显示界面中竖直显示为例,将左上角位置设置为坐标原点并建立直角坐标系,水平向右为x轴正半轴,竖直向下表示y轴的正半轴,将当前数据块的坐标(x,y)信息到页面左边界的距离确定为前数据块在x方向上的页边距,将当前数据块的坐标(x,y)信息到页面上边界的距离确定为当前数据块在y方向上的页边距。
例如,从当前数据块数据的属性中获取当前数据块坐标(126,630),当前数据块字体宽度36及字数3;计算当前数据块单字宽度L=12,单字高度H和单字宽度L相同为12;
步骤107、服务器确定当前数据块中包含关键信息的字数和当前数据块的上一个数据块中包含的关键信息的字数;
在本实施例中,步骤103中判断当前数据块中不包含关键信息,服务器将当前数据块中的数据与缓存区之前存储的内容进行拼接后的数据中包含关键信息,则当前数据块中的前一个或几个字一定是关键信息中包含的字。
具体地,在本实施例中,待签署PDF合同文件中的每个字的长度和高度都是统一且固定的;服务器从关键信息属性中获取关键信息字数为M,当前数据块的上一个数据块中包含的关键信息的字数记为M-P;
例如,本实施例中,预设的关键信息为“电子签章用印处”,M=7,P=3,则当前数据块的上一个数据块中包含的关键信息的字数M-P为4;
步骤108、服务器根据当前数据块中包含关键信息的字数和当前数据块的上一个数据块中包含的关键信息的字数确定关键信息的坐标信息;
具体地,关键信息在x方向上对应页边距记作x-(M-P)*L,则确定关键信息的坐标信息为(x-(M-P)*L,y);
例如,确定关键信息的坐标信息为(76,630);
步骤109、服务器根据关键信息的坐标信息和关键信息字数得到签署坐标,并保存签署坐标;
在本实施例中,签署的位置为关键信息的中心位置;
具体地,签署位置在x方向上对应页边距记作x-(M/2-P)*L,签署位置在y方向上对应页边距记作y+H/2,则确定签署坐标为:
(x-(M/2-P)*L,y+H/2);
例如,签署坐标为(126,636);
步骤110、服务器获取当前数据块的坐标信息;
在本实施例中,对待签署PDF合同文件建立相应的坐标系,根据建立的坐标系,获取当前数据块的坐标信息,根据当前数据块的坐标信息确定签署位置。
具体地,坐标信息包括:坐标(x,y)信息、当前数据块字体宽度W及字数P;其中,当前数据块的坐标(x,y)信息记录的是当前数据块左上角在x方向上的页边距和在y方向上的页边距;计算当前数据块单字宽度L=W/P,单字高度H和单字宽度L相同。
具体地,以待签署PDF合同文件页面在显示界面中竖直显示为例,将左上角位置设置为坐标原点并建立直角坐标系,水平向右为x轴正半轴,竖直向下表示y轴的正半轴,将当前数据块的坐标(x,y)信息到页面左边界的距离确定为前数据块在x方向上的页边距,将当前数据块的坐标(x,y)信息到页面上边界的距离确定为当前数据块在y方向上的页边距。
步骤111、服务器根据当前数据块的内容和关键信息的内容确定关键信息在当前数据块的位置,获取关键信息的坐标信息;
具体地,在本实施例中,当前数据块中的每个字长度和高度都是统一且固定的;每个字的长度记为L,每个字的高度记为数据块的高度,记为H;服务器将当前数据块的内容和关键信息读取到缓存区,将关键信息依次与当前数据块的内容进行比对,确定关键信息的第一个字是当前数据块的第几个字,记为N;则关键信息在x方向上对应页边距记作x+(N-1)*L,则确定关键信息的坐标信息为(x+(N-1)*L,y);
步骤112、服务器根据关键信息字数和关键信息的坐标信息得到签署坐标,并保存签署坐标;
在本实施例中,签署的位置为关键信息的中心位置;
具体地,服务器获取关键信息字数为M,则签署位置在x方向上对应页边距记作x+(N-1)*L/2,签署位置在y方向上对应页边距记作y+H/2,则确定签署坐标为:(x+(N-1)*L/2,y+H/2);
步骤113、服务器清空缓存区;
步骤114、服务器判断是否还有未读取的数据块,是则读取当前数据块的下一块数据作为当前数据块,执行步骤103;否则执行步骤115;
步骤115、服务器根据保存的签署坐标并使用签署信息签署电子合同,签署成功。
实施例三
本实施提供一种签署电子合同的装置,如图3所示,包括:
接收模块201,用于接收待签署PDF合同文件和关键信息;
解析模块202,用于解析接收模块201接收到的待签署PDF合同文件得到数据块;
判断模块203,用于遍历解析模块202解析到的数据块,判断数据块中是否包含关键信息;
报错模块204,用于当判断模块203判断数据块中没有包含关键信息时,签署失败,报错;
获取模块205,用于当判断模块203判断数据块中包含关键信息时,获取数据块的位置信息;
第一确定模块206,用于根据获取模块205获取的根据数据块的位置信息确定关键信息的位置信息,根据关键信息的位置信息确定关键信息在待签署PDF合同文件中的签署位置;
签署模块207,用于根据第一确定模块206确定的签署位置使用接收到的签署信息对待签署PDF合同文件进行签署。
优选地,获取模块205,具体用于从数据块中的数据块属性中获取数据块的位置信息。
优选地,第一确定模块206包括第一确定单元;
第一确定单元,用于根据数据块的位置信息、数据块的内容和关键信息的内容,确定关键信息在数据块中的位置,得到关键信息的位置信息。
优选地,装置还包括:第二确定模块;
第二确定模块,用于根据关键信息确定关键信息字数;
第一确定模块206包括第二确定单元,用于根据关键信息的位置信息确定关键信息在待签署PDF合同文件中的签署位置;
第二确定单元包括:服务器根据关键信息字数和关键信息的位置信息确定关键信息在待签署PDF合同文件中的签署位置。
优选地,判断模块203包括:
第一作为单元,用于读取待签署PDF合同文件中的第一块数据作为当前数据块;
第一判断单元,用于判断当前数据块中是否包含关键信息,否则触发获取模块205;
第二判断单元,用于当第一判断单元判断当前数据块中包含关键信息时,将当前数据块的内容读取到缓存区,判断缓存区中的内容是否包含关键信息,是则触发获取模块205;
第二作为单元,用于当第二判断模块203判断缓存区中的内容未包含关键信息时,将下一个数据块作为当前数据块,触发第一判断单元。
优选地,判断模块203还包括:第三判断单元;
第三判断单元,用于判断解析后的待签署PDF合同文件中是否还有未读取的数据块,是则触发第二作为单元;
报错模块204,还用于当第三判断单元判断判断解析后的待签署PDF合同文件中没有未读取的数据块时,签署失败,报错。
优选地,第二判断单元还包括:拼接子单元;
拼接子单元,用于将当前数据块的内容与缓存区中已存储的内容进行拼接;
第二判断单元,具体用于当第一判断单元判断当前数据块中包含关键信息时,将当前数据块的内容读取到缓存区,判断当前数据块的内容与缓存区中已存储的内容进行拼接后的数据中是否包含关键信息。
优选地,获取模块205,还用于获取当前数据块的位置信息;
第一确定模块206包括:第三确定单元和第四确定单元;
第三确定单元,用于根据当前数据块的位置信息和关键信息在当前数据块及当前数据块的上一个数据块的分布情况得到关键信息的位置信息;
第四确定单元,用于根据关键信息的位置信息确定关键信息在待签署PDF合同文件中的签署位置。
优选地,装置还包括第三确定模块;
第三确定模块,用于根据关键信息确定关键信息字数;
第三确定单元包括第一确定子单元,用于确定当前数据块中包含关键信息的字数和当前数据块的上一个数据块中包含的关键信息的字数,得到关键信息在当前数据块及当前数据块的上一个数据块的分布情况。
优选地,第四确定单元,具体用于根据关键信息字数和关键信息的位置信息确定关键信息在待签署PDF合同文件中的签署位置。
优选地,判断模块203还包括:清空单元;
清空单元,用于清空缓存区。
优选地,装置还包括:保存模块;
保存模块,用于保存签署位置;
签署模块207,具体用于根据保存的签署位置使用获取到的签署信息对待签署PDF合同文件进行签署。
优选地,解析模块202包括解压单元和解析单元;
解压单元,用于解析待签署PDF合同文件获取待签署PDF合同文件的文件信息,从文件信息中获取页面对象中的待签署PDF合同文件内容,并对待签署PDF合同文件内容进行解压;
解析单元,用于调用解析工具解析解压单元解压后的待签署PDF合同文件内容,得到数据块。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (26)

1.一种签署电子合同的方法,其特征在于,包括:
步骤S1、服务器接收待签署PDF合同文件和关键信息,解析所述待签署PDF合同文件得到数据块;
步骤S2、所述服务器遍历所述数据块,判断所述数据块中是否包含所述关键信息,是则执行步骤S3;否则签署失败,报错;
步骤S3、所述服务器获取数据块的位置信息,根据所述数据块的位置信息确定所述关键信息的位置信息,根据所述关键信息的位置信息确定所述关键信息在所述待签署PDF合同文件中的签署位置;
步骤S4、所述服务器根据所述签署位置使用接收到的签署信息对所述待签署PDF合同文件进行签署。
2.根据权利要求1所述的方法,其特征在于,所述服务器获取数据块的位置信息具体为:所述服务器从所述数据块中的数据块属性中获取数据块的位置信息。
3.根据权利要求1所述的方法,其特征在于,所述服务器获取数据块的位置信息,根据所述数据块的位置信息确定所述关键信息的位置信息具体为:所述服务器根据所述数据块的位置信息、数据块的内容和关键信息的内容,确定关键信息在数据块中的位置,得到关键信息的位置信息。
4.根据权利要求1所述的方法,其特征在于,所述步骤S2之前还包括:所述服务器根据所述关键信息确定所述关键信息字数;
所述根据所述关键信息的位置信息确定关键信息在所述待签署PDF合同文件中的签署位置,具体为:所述服务器根据所述关键信息字数和所述关键信息的位置信息确定关键信息在所述待签署PDF合同文件中的签署位置。
5.根据权利要求1所述的方法,其特征在于,所述步骤S2,具体为:
步骤A1、所述服务器读取所述待签署PDF合同文件中的第一块数据作为当前数据块;
步骤A2、所述服务器判断所述当前数据块中是否包含所述关键信息,否则执行步骤A3;是则执行步骤S3;
步骤A3、所述服务器将所述当前数据块的内容读取到缓存区,判断所述缓存区中的内容是否包含关键信息,是则执行步骤S3;否则执行步骤A4;
步骤A4、所述服务器将下一个数据块作为当前数据块,执行步骤A2。
6.根据权利要求5所述的方法,其特征在于,所述步骤A4之前还包括:所述服务器判断解析后的所述待签署PDF合同文件中是否还有未读取的数据块,是则执行步骤A4;否则签署失败,报错。
7.根据权利要求5所述的方法,其特征在于,所述步骤A3中还包括:所述服务器将当前数据块的内容与缓存区中已存储的内容进行拼接;
所述判断所述缓存区中的内容是否包含关键信息,具体为:所述服务器判断当前数据块的内容与缓存区中已存储的内容进行拼接后的数据中是否包含关键信息。
8.根据权利要求5所述的方法,其特征在于,当所述步骤A3中所述服务器判断为是时,所述步骤S3具体包括:
步骤C1、所述服务器获取当前数据块的位置信息,根据所述当前数据块的位置信息和所述关键信息在当前数据块及当前数据块的上一个数据块的分布情况得到关键信息的位置信息;
步骤C2、根据所述关键信息的位置信息确定关键信息在所述待签署PDF合同文件中的签署位置。
9.根据权利要求8所述的方法,其特征在于,所述步骤S2之前还包括:所述服务器根据所述关键信息确定所述关键信息字数;
所述步骤C1还包括:所述服务器确定当前数据块中包含关键信息的字数和当前数据块的上一个数据块中包含的关键信息的字数,得到所述关键信息在当前数据块及当前数据块的上一个数据块的分布情况。
10.根据权利要求9所述的方法,其特征在于,所述步骤C2,具体为:
所述服务器根据所述关键信息字数和所述关键信息的位置信息确定关键信息在所述待签署PDF合同文件中的签署位置。
11.根据权利要求5所述的方法,其特征在于,所述步骤A3中所述服务器判断为是获取关键信息在所述待签署PDF合同文件中的签署位置后,还包括:所述服务器清空缓存区。
12.根据权利要求1所述的方法,其特征在于,所述步骤S3中还包括:所述服务器保存所述签署位置;
所述步骤S4,具体为:所述服务器根据保存的签署位置使用获取到的签署信息对所述待签署PDF合同文件进行签署。
13.根据权利要求1所述的方法,其特征在于,所述解析所述待签署PDF合同文件得到数据块,具体为:所述服务器解析待签署PDF合同文件获取待签署PDF合同文件的文件信息,从所述文件信息中获取页面对象中的待签署PDF合同文件内容,并对所述待签署PDF合同文件内容进行解压;所述服务器调用解析工具解析解压后的待签署PDF合同文件内容,得到数据块。
14.一种签署电子合同的装置,其特征在于,包括:
接收模块,用于接收待签署PDF合同文件和关键信息;
解析模块,用于解析所述接收模块接收到的待签署PDF合同文件得到数据块;
判断模块,用于遍历所述解析模块解析到的数据块,判断所述数据块中是否包含所述关键信息;
报错模块,用于当所述判断模块判断所述数据块中没有包含所述关键信息时,签署失败,报错;
获取模块,用于当所述判断模块判断所述数据块中包含关键信息时,获取所述数据块的位置信息;
第一确定模块,用于根据所述获取模块获取的根据所述数据块的位置信息确定所述关键信息的位置信息,根据所述关键信息的位置信息确定所述关键信息在所述待签署PDF合同文件中的签署位置;
签署模块,用于根据所述第一确定模块确定的签署位置使用接收到的签署信息对所述待签署PDF合同文件进行签署。
15.根据权利要求14所述的装置,其特征在于,所述获取模块,具体用于从所述数据块中的数据块属性中获取数据块的位置信息。
16.根据权利要求14所述的装置,其特征在于,所述第一确定模块包括第一确定单元;
所述第一确定单元,用于根据所述数据块的位置信息、数据块的内容和关键信息的内容,确定关键信息在数据块中的位置,得到关键信息的位置信息。
17.根据权利要求14所述的装置,其特征在于,所述装置还包括:第二确定模块;
所述第二确定模块,用于根据所述关键信息确定所述关键信息字数;
所述第一确定模块包括第二确定单元,用于根据所述关键信息的位置信息确定关键信息在所述待签署PDF合同文件中的签署位置;
所述第二确定单元包括:所述服务器根据所述关键信息字数和所述关键信息的位置信息确定关键信息在所述待签署PDF合同文件中的签署位置。
18.根据权利要求14所述的装置,其特征在于,所述判断模块包括:
第一作为单元,用于读取所述待签署PDF合同文件中的第一块数据作为当前数据块;
第一判断单元,用于判断所述当前数据块中是否包含所述关键信息,否则触发获取模块;
第二判断单元,用于当所述第一判断单元判断当前数据块中包含所述关键信息时,将所述当前数据块的内容读取到缓存区,判断所述缓存区中的内容是否包含关键信息,是则触发获取模块;
第二作为单元,用于当所述第二判断模块判断所述缓存区中的内容未包含关键信息时,将下一个数据块作为当前数据块,触发第一判断单元。
19.根据权利要求18所述的装置,其特征在于,所述判断模块还包括:第三判断单元;
所述第三判断单元,用于判断解析后的所述待签署PDF合同文件中是否还有未读取的数据块,是则触发所述第二作为单元;
报错模块,还用于当所述第三判断单元判断解析后的所述待签署PDF合同文件中没有未读取的数据块时,签署失败,报错。
20.根据权利要求18所述的装置,其特征在于,所述第二判断单元还包括:拼接子单元;
所述拼接子单元,用于将当前数据块的内容与缓存区中已存储的内容进行拼接;
所述第二判断单元,具体用于当所述第一判断单元判断当前数据块中包含所述关键信息时,将所述当前数据块的内容读取到缓存区,判断当前数据块的内容与缓存区中已存储的内容进行拼接后的数据中是否包含关键信息。
21.根据权利要求18所述的装置,其特征在于,所述获取模块,还用于获取当前数据块的位置信息;
所述第一确定模块包括:第三确定单元和第四确定单元;
所述第三确定单元,用于根据所述当前数据块的位置信息和所述关键信息在当前数据块及当前数据块的上一个数据块的分布情况得到关键信息的位置信息;
所述第四确定单元,用于根据所述关键信息的位置信息确定关键信息在所述待签署PDF合同文件中的签署位置。
22.根据权利要求21所述的装置,其特征在于,所述装置还包括第三确定模块;
所述第三确定模块,用于根据所述关键信息确定所述关键信息字数;
所述第三确定单元包括第一确定子单元,用于确定当前数据块中包含关键信息的字数和当前数据块的上一个数据块中包含的关键信息的字数,得到所述关键信息在当前数据块及当前数据块的上一个数据块的分布情况。
23.根据权利要求22所述的装置,其特征在于,所述第四确定单元,具体用于根据所述关键信息字数和所述关键信息的位置信息确定关键信息在所述待签署PDF合同文件中的签署位置。
24.根据权利要求18所述的装置,其特征在于,所述判断模块还包括:清空单元;
所述清空单元,用于清空缓存区。
25.根据权利要求14所述的装置,其特征在于,所述装置还包括:保存模块;
所述保存模块,用于保存所述签署位置;
所述签署模块,具体用于根据保存的签署位置使用获取到的签署信息对所述待签署PDF合同文件进行签署。
26.根据权利要求14所述的装置,其特征在于,所述解析模块包括解压单元和解析单元;
所述解压单元,用于解析待签署PDF合同文件获取待签署PDF合同文件的文件信息,从所述文件信息中获取页面对象中的待签署PDF合同文件内容,并对所述待签署PDF合同文件内容进行解压;
所述解析单元,用于调用解析工具解析所述解压单元解压后的待签署PDF合同文件内容,得到数据块。
CN201810754379.3A 2018-07-11 2018-07-11 一种签署电子合同的方法及装置 Active CN109064121B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810754379.3A CN109064121B (zh) 2018-07-11 2018-07-11 一种签署电子合同的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810754379.3A CN109064121B (zh) 2018-07-11 2018-07-11 一种签署电子合同的方法及装置

Publications (2)

Publication Number Publication Date
CN109064121A true CN109064121A (zh) 2018-12-21
CN109064121B CN109064121B (zh) 2020-11-03

Family

ID=64815824

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810754379.3A Active CN109064121B (zh) 2018-07-11 2018-07-11 一种签署电子合同的方法及装置

Country Status (1)

Country Link
CN (1) CN109064121B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109784873A (zh) * 2019-02-28 2019-05-21 飞天诚信科技股份有限公司 一种电子合同签署平台的工作方法及设备
CN110245220A (zh) * 2019-05-05 2019-09-17 深圳法大大网络科技有限公司 电子文件签署方法、装置及服务器、存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1609863A (zh) * 2003-10-20 2005-04-27 杭州信雅达系统工程股份有限公司 远程电子申报纳税装置及其方法
CN1635533A (zh) * 2003-12-30 2005-07-06 刘瑞祯 数字印章系统
CN104123550A (zh) * 2013-04-25 2014-10-29 魏昊 基于云计算的文本扫描识别方法
US20150138399A1 (en) * 2013-11-15 2015-05-21 Kofax, Inc. Systems and methods for generating composite images of long documents using mobile video data
CN105681616A (zh) * 2015-12-31 2016-06-15 武汉帕菲利尔信息科技有限公司 多台移动终端及终端医疗级影像数据传输方法
CN106330459A (zh) * 2016-08-25 2017-01-11 杭州天谷信息科技有限公司 一种关键字电子签章方法
CN106452793A (zh) * 2016-11-21 2017-02-22 航天信息股份有限公司 一种电子签名的方法和系统
CN106933818A (zh) * 2015-12-29 2017-07-07 北京明朝万达科技股份有限公司 一种快速的多关键字文本匹配方法及装置
CN107133312A (zh) * 2017-05-02 2017-09-05 深圳乐信软件技术有限公司 一种电子签章方法及装置
CN107145873A (zh) * 2017-05-12 2017-09-08 江苏鸿信系统集成有限公司 基于人脸识别和ocr的身份证图像识别审核方法及系统
US20170366703A1 (en) * 2010-10-19 2017-12-21 Apple Inc. Systems, methods, and computer-readable media for placing a representation of the captured signature in a document

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1609863A (zh) * 2003-10-20 2005-04-27 杭州信雅达系统工程股份有限公司 远程电子申报纳税装置及其方法
CN1635533A (zh) * 2003-12-30 2005-07-06 刘瑞祯 数字印章系统
US20170366703A1 (en) * 2010-10-19 2017-12-21 Apple Inc. Systems, methods, and computer-readable media for placing a representation of the captured signature in a document
CN104123550A (zh) * 2013-04-25 2014-10-29 魏昊 基于云计算的文本扫描识别方法
US20150138399A1 (en) * 2013-11-15 2015-05-21 Kofax, Inc. Systems and methods for generating composite images of long documents using mobile video data
CN106933818A (zh) * 2015-12-29 2017-07-07 北京明朝万达科技股份有限公司 一种快速的多关键字文本匹配方法及装置
CN105681616A (zh) * 2015-12-31 2016-06-15 武汉帕菲利尔信息科技有限公司 多台移动终端及终端医疗级影像数据传输方法
CN106330459A (zh) * 2016-08-25 2017-01-11 杭州天谷信息科技有限公司 一种关键字电子签章方法
CN106452793A (zh) * 2016-11-21 2017-02-22 航天信息股份有限公司 一种电子签名的方法和系统
CN107133312A (zh) * 2017-05-02 2017-09-05 深圳乐信软件技术有限公司 一种电子签章方法及装置
CN107145873A (zh) * 2017-05-12 2017-09-08 江苏鸿信系统集成有限公司 基于人脸识别和ocr的身份证图像识别审核方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PARTHA PRATIMROY ETC.: "Document seal detection using GHT and character proximity graphs", 《PATTERN RECOGNITION》 *
刘俊波: "可视化电子签章系统设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109784873A (zh) * 2019-02-28 2019-05-21 飞天诚信科技股份有限公司 一种电子合同签署平台的工作方法及设备
CN109784873B (zh) * 2019-02-28 2021-07-02 飞天诚信科技股份有限公司 一种电子合同签署平台的工作方法及设备
CN110245220A (zh) * 2019-05-05 2019-09-17 深圳法大大网络科技有限公司 电子文件签署方法、装置及服务器、存储介质

Also Published As

Publication number Publication date
CN109064121B (zh) 2020-11-03

Similar Documents

Publication Publication Date Title
US10795629B2 (en) Text and custom format information processing method, client, server, and computer-readable storage medium
CN102263705B (zh) 显示即时通讯消息的方法及装置
CN110033272A (zh) 基于区块链的保函数据处理方法、设备以及系统
CN108052491A (zh) 一种证件文档的自动处理方法和装置
CN109086046A (zh) 一种基于接口规范文档的前端代码自动生成方法及系统
CN101526963A (zh) 网页编码识别方法、装置和终端设备
CN112307512A (zh) 一种日志脱敏方法、装置及存储介质
WO2015180422A1 (zh) 页面排版方法及装置
CN102916991B (zh) 一种数据传输方法、系统以及装置
CN109064121A (zh) 一种签署电子合同的方法及装置
CN109064161A (zh) 一种基于短信的银行账户交易流水智能管理方法和装置
CN115618371A (zh) 一种非文本数据的脱敏方法、装置及存储介质
Cohen et al. Issues with the communication and integrity of audit reports when financial reporting shifts to an information-centric paradigm
CN109614596B (zh) 一种电子票据处理方法、装置和系统
CN107888989A (zh) 一种基于互联网直播的交互系统及方法
CN105404672B (zh) 网页数据存储和操作的系统及方法
US8856044B1 (en) Segmented access of remotely stored biographical data to a client device
KR100846734B1 (ko) 폰트 코덱이 결합된 문자메시지, 이를 전송하는 시스템 및방법
CN111930890A (zh) 信息发送方法、装置、终端设备及存储介质
CN115033599B (zh) 基于多方安全的图查询方法、系统及相关装置
CN106060000A (zh) 一种识别验证信息的方法和设备
CN113268949B (zh) 基于动态字段的表格展示方法、装置、计算机设备及介质
CN115186657A (zh) 错敏信息检测方法、装置、计算机设备及存储介质
CN108882239A (zh) 一种信息发送方法及装置
CN113472686A (zh) 信息识别方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant