一种PDF签章方法及PDF签章系统与流程

文档序号:19311866发布日期:2019-12-03 23:36阅读:4352来源:国知局
一种PDF签章方法及PDF签章系统与流程

本发明涉及密码技术和pdf版式文件开发领域,特别是电子签章技术,尤其涉及一种pdf签章方法及pdf签章系统。



背景技术:

随着技术的发展,越来越多的企事业单位及国家机关采取了电子化办公,极大地提高了工作效率,pdf文件也逐渐成为各工作领域常用的文件形式。但随着电子化办公的发展,电子文档容易被篡改或拷贝等安全性问题也随之出现。电子印章或电子签名等技术的出现解决了上述问题。在pdf文件中设置电子印章或签名可以辨识电子文件签署者身份,以保证文件的完整性,同时还可以表示签署者同意电子文件所陈述事实的内容。

现有技术中,在一个pdf文件中需要用到同一个证书;在多个位置用同一个印章来盖章,或是用不同印章进行盖章(即pdf批量签)时,一般有两种现有解决方案。一种方案是在需要盖章的位置嵌入图片,然后在最后一个需要盖章的地方用数字证书进行盖章;另一种方案是其中一个盖章位置用数字证书进行盖章,在其他位置以空白签名加印章图片的形式进行盖章。但在实际应用中,第一种方案的缺陷是嵌入图片的形式会修改文件原文,如果pdf之前已签过章,adobe等软件会提示原文被篡改,使得验签不通过;第二种方案则会导致adobe软件在空白签名域的地方会引导用户用数字证书进行签署,印章的头部位置会有红色告警提示,用户的体验效果不好。



技术实现要素:

本发明针对现有技术中的不足,提供一种pdf签章方法,包括以下步骤:

步骤一:上传pdf文档,并展示pdf签署页面

步骤二:拖动签章至待签章位置;

步骤三:确定签署,获取签署对象集合;

步骤四:解析签署对象集合,创建签名域;

步骤五:更新电子签名,生成签署文件。

可选地,在所述步骤二中:

当所述pdf文档仅需单页签章时,拖动签章至待签章位置;

当所述pdf文档需要多页签章时,拖动签章至待签章位置,并指定页码范围;

当所述pdf文档需要关键字签章时,通过输入关键字来查找出现关键字的所有位置坐标,再拖动签章至这些待签章位置。

可选地,在所述步骤三中:点击签署选项,后台获取由前端传送过来的签署对象集合;所述签署对象集合包括签署对象,所述签署对象包括签署类型,签署位置信息,以及印章信息。

可选地,在所述步骤四中:解析出每个签署对象的内容,并根据所述签署对象的内容创建签名域;所述签名域包括章模图像层与签名字典。

可选地,在所述步骤四中:使用开源框架itext5加载所述pdf文档,创建一个签名字典signv;所述每个签名域的签名字典皆指向所述签名字典signv的引用。

可选地,在所述步骤五中:使用数字证书进行电子签名,并将电子签名的结果更新到所述签名字典signv,后生成签署文件。

本发明还公开一种pdf签章系统,采用前面所述的pdf签章方法来工作,所述pdf签章系统包括文件上传模块,印章签署模块,签署对象获取模块,签署对象解析模块以及数字证书签名模块;所述文件上传模块用于将pdf文档上传至pdf签章系统;所述印章签署模块用于将印章签署于已上传的pdf文档的待签章位置;所述签署对象获取模块用于获取签署对象集合,所述签署对象集合包括数个签署对象,所述签署对象由印章签署模块签署印章所产生;所述签署对象解析模块用于解析所述签署对象集合中的每个签署对象,并根据每个签署对象的内容创建签名域,所述签名域包括签名字典;所述签署对象解析模块还用于创建一个签名字典signv,并使每个所述签名域的签名字典皆指向所述签名字典signv的引用;所述数字证书签名模块用于进行电子签名,并将电子签名的结果更新至所述签名字典signv。

可选地,每个所述签名域还包括章模图像层,所述章模图像层包括印章图样;所述每个印章图样皆指向所述签名字典signv引用的数字证书所代表的电子签名。

可选地,所述签署对象解析模块通过使用开源框架itext5来加载所述pdf文档并解析所述pdf文档。

可选地,所述签署对象集合中的签署对象包括签署类型,签署位置信息,以及印章信息。

本发明通过采用在一份pdf文档的签署过程中,使用开源框架itext5来加载pdf文档后,创建一个共同的签名字典signv,并通过解析pdf文档的签署对象的内容来创建签名域,再将每个签名域的签名字典均指向所述创建的共同的签名字典signv的引用,最后使用该pdf文档所需的数字证书进行电子签名,使每个签名域下的印章图样均指向共同的签名字典signv所引用的数字证书,而该数字证书下的签名又唯一代表签署人身份。在同一份pdf文档中,当遇到需要在不同位置进行签章时,如遇到多页签章、骑缝签章或关键字签章时,本发明可以实现多个位置的签章对应同一个数字证书的认证;且在不同位置的印章图样也不同的情况下,也能对应同一数字证书认证的签署人;同时也在需要修改某个印章图样时,因为该印章图样所在的签名域已唯一指向一个共同的签名字典signv的引用,而该签名字典signv也已获得数字证书的电子签名,且该数字证书的电子签名符合adobe标准,因而不会出现操作流程受阻的现象,即不会出现提示原文被篡改的现象,使用户操作体验甚佳,流程快速便捷,提高了pdf文档批量签署签章的效率。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

附图1为本发明实施例一的pdf签章方法的流程示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

除非另作定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。在本说明书中引用的“一个实施例”或“实例”或“例子”意指结合实施例本身描述的特定特征、结构或特性可被包括在本专利公开的至少一个实施例中。短语“在一个实施例中”在说明书中的各位置的出现不必都是指同一个实施例。

实施例一:

本发明公开一种pdf签章方法,主要包括以下步骤:

步骤一:上传pdf文档。在开始进行pdf签章时,先上传待签章的pdf文档至电子签章系统,并展示待签章页面。

步骤二:拖动签章至待签章位置。在本步骤中,需要首先选择签署类型,即选择是需要单页签章还是多页签章,或是关键字签章。

具体地,当待签章的pdf文件仅需要单页签章时,则选择签署用的签章,将此签章拖动至待签章位置;待签章位置即为需要将签章具体盖在pdf文档的某个页面上的位置。如在单页签章中,待签章位置由所在页码,以及该页码上的具体坐标x,y来指定。

当待签章的pdf文件需要多页签章时,则拖动签署用的签章到待签章位置,并指定需要签章的页码范围;此时的待签章位置同时需要签署页码范围(如1-8页)和在页码上的具体坐标x,y来指定。骑缝签章与多页签章对待签章位置的确定方法相同。

当待签章的pdf文件需要关键字签章时,则通过关键字输入的查找手段找出关键字所在的所有位置坐标。如果需要相对关键字所在位置坐标做适当的位置偏移,则此时的待签章位置则需要相对于关键字坐标的偏移量x,y以及关键字所在位置坐标来共同确定。

步骤三:确定签署,获取签署对象集合。在本步骤中,当点击确认签署的按钮后,后台便会获取由前端传送过来的包括所有签署对象的集合,即签署对象集合。其中,签署对象包括有签署类型,签署位置信息,以及印章信息等。在其他实施例中,签署对象并不局限于本实施例给出的例子,还包括在实际应用中盖章所涉及的需要被解析的其他签署对象,不同的实施例可以因设计需解决的精确度、便捷性等原因而有不同的签署对象选择。其中,签署位置信息是指印章在pdf文档上的具体页码,以及页码上的坐标x和坐标y,当遇到多页签章或骑缝签章时,签署位置信息还包括签署页码范围,如需要在1-8页上签章,则需要1-8页的签署页码范围;印章信息包含印章图片信息和印章宽高,由解析图章和图片的字节数组所得;签署类型包括单页签章、多页签章、骑缝签章和关键字签章等。

步骤四:解析签署对象集合,创建签名域。在本步骤中,首先使用开源框架itext5加载pdf文档,创建一个签名字典signv。其中,开源框架itext5是现有技术中的一款开源免费的软件,用于生成pdf文档,编辑pdf文档的java类库,因此,关于开源框架itext5的介绍在本实施例中不作过多描述。具体地,本步骤还包括解析签署对象集合,即通过for循环来循环解析出每个签署对象的内容,并根据签署对象的内容创建签名域,即根据签署位置信息及印章信息来创建签名域。印章信息包含印章图片信息,以及印章宽高。

其中,一次签章产生一个pdf签名域,一个签名域包括一个章模图像层和一个签名字典。章模图像层包括签章的章模所对应的图像对象,此图像对象即为签章后展示在pdf文档上的印章图样,该印章图样可以为不同的图案。签章字典包括签名结果数据(签名结果数据为pkcs7签名数据结构),此签名结果数据包含用户证书信息,包含本次签名的pdf摘要信息,以及包含用户证书所对应的私钥对pdf摘要信息的签名结果。同时,本步骤还将每个签名域的签名字典都指向前面由开源框架itext5加载pdf文档所创建的签名字典signv的引用,即每个签名域下的章模图像层皆指向同一个签名字典signv的引用,最终使每个签名域都使用此同一个的签名字典signv。

步骤五:更新电子签名,生成签署文件。本步骤通过使用数字证书来进行电子签名,此数字证书为与待签署的pdf文档的签署人相对应的数字证书;并将电子签名的结果更新到共同的签名字典signv,最终生成签署后的新文件。在本步骤中,在每个签名域下的章模图像层皆指向同一个的签名字典signv的引用,而这个共同的签名字典signv指向一个唯一代表签署人身份认证的数字签名。因此,在一份pdf文档中,若之前已经签署过签章,因为新建的多个签名域符合adobe的标准,故adobe等软件(主要指pdf相关的阅读、编辑软件,为现有技术)不会出现提示原文被篡改,这对用户的使用体验而言较为方便。

在pdf签章的现有技术领域中,当用户需要在一份电子合同里的多个位置进行签章时,如遇到需要在多页签章、骑缝签章或根据关键字定位签章时,需要盖章的位置有多处,此时则需要进行多次数字签名,但因为数字证书签名的效率问题而通常会导致流程受阻,如出现提示原文被篡改,验签不通过等情况,影响用户体验。

通过采用本实施例提供的pdf签章方法,可以使多个签章对应同一次签名,即一次签署可以使所有的章模图像层指向同一个签名字典signv的引用,而本实施例中的一个共同的签名字典signv指向一个数字证书,因此,本实施例最终实现一份pdf文档中的多个不同位置的签章(不同位置的印章图样可以为不同图像)皆指向同一个数字证书的目的,即不同位置的签章皆指向同一个数字证书所代表的唯一身份认证的签署人。因此,本实施例可以解决现有技术中多页签章、骑缝签章或根据关键字定位签章所带来的在同一pdf文档多个位置签章的效率问题,即批量签署的效率问题。同时,由于本实施例符合adobe数字证书标准,因此当出现需要修改印章图样(即章模图像层章模所对应的图像对象)时,因数字证书为唯一且未更改,故adobe等软件不会提示原文被修改。

实施例二:

本实施例公开一种借助实施例一中的一种pdf签章方法所进行工作的一种pdf签章系统。其中,本实施例所公开的一种pdf签章系统包括文件上传模块,印章签署模块,签署对象获取模块,签署对象解析模块以及数字证书签名模块。具体地,文件上传模块用于将待签章的pdf文档上传至pdf签章系统,并展示待签章页面。随后,印章签署模块则用于将签章拖动至待签章位置,并点击签署;同时,在点击签署之后,后台的签署对象获取模块将获取从前台传送过来的签署对象集合,签署对象集合中的签署对象包括签署类型,签署位置信息以及印章信息。签署对象解析模块则用于解析签署对象集合,根据签署对象的签署位置信息和印章信息创建签名域,签名域包括章模图像层和签名字典,签署对象解析模块还使用开源框架itext5加载pdf文档后创建一个签名字典signv,使每个签名域的签名字典均指向同一个签名字典signv的引用,签名字典signv则指向一个唯一的被数字证书认证身份信息的签署人。数字证书签名模块用于使用数字证书来进行电子签名,并将电子签名的结果更新到共同的签名字典signv,生成签署后的新文件。由于在本实施例中,章模图像层包括印章图样,每个签名域的签名字典均指向同一个签名字典signv的引用,故每个签名域的章模图像层也均指向同一个签名字典signv所引用的代表签署人身份验证的数字证书,故同一份pdf文档的每个印章图样皆指向同一个签署人。因此,本实施例可以实现在一份pdf文档中,当需要在多个位置进行签章时,可以只进行一次数字证书的电子签名来实现多个签章指向同一签署人的目的。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

总之,以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所作的均等变化与修饰,皆应属本发明专利的涵盖范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1