CN118036576A - 一种pdf文件添加批注签章方法、装置及设备 - Google Patents
一种pdf文件添加批注签章方法、装置及设备 Download PDFInfo
- Publication number
- CN118036576A CN118036576A CN202410058201.0A CN202410058201A CN118036576A CN 118036576 A CN118036576 A CN 118036576A CN 202410058201 A CN202410058201 A CN 202410058201A CN 118036576 A CN118036576 A CN 118036576A
- Authority
- CN
- China
- Prior art keywords
- signature
- file
- endorsement
- value
- hash value
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000004422 calculation algorithm Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 229920000742 Cotton Polymers 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种PDF文件添加批注签章方法、装置及设备,该方法包括:将批注文本添加到PDF文件签名外观的N2层,将签章图片添加到所述批注文本的下层;将添加了批注文本和签章图片的PDF文件转换成字节流,将字节流写入PDF签章中间文件并为签名值预留出占位符,得到文件数据;计算文件数据的哈希值;对哈希值进行签名运算,得到签名值;将签名值覆盖文件数据中的签名值占位符,得到签章后的文件。本发明解决了流转单据或者工作流审批签章时不能添加批注的问题。
Description
技术领域
本发明涉及PDF文件签章领域,尤其涉及一种PDF文件添加批注签章方法、装置及设备。
背景技术
PDF文件签章目前支持两种形式,一种是图片签章(企业章);一种是文本签章(人名章),对于流转类型的单据,既需添加批注又需要盖章的场景,无法有效支持,如棉花交易中心,收到货物的时候需要清点并且盖章,每次流转到新的地方,都需要在上一个签章文件基础上添加批注(比如时间、人物、位置、接收到多少吨货物等)并盖章。如果以文字形式添加到PDF文件中,则会导致之前的签章验签失败(因为签章后原文被修改)。
发明内容
本发明提供了一种PDF文件添加批注签章方法、装置及设备,解决了流转单据或者工作流审批签章时不能添加批注的问题。
一种PDF文件添加批注签章方法,包括:
将批注文本添加到PDF文件签名外观的N2层,将签章图片添加到所述批注文本的下层;
将添加了批注文本和签章图片的PDF文件转换成字节流,将字节流写入PDF签章中间文件并为签名值预留出占位符,得到文件数据;
计算文件数据的哈希值;
对哈希值进行签名运算,得到签名值;
将签名值覆盖文件数据中的签名值占位符,得到签章后的文件。
在本发明的一种实施例中,将批注文本添加到PDF文件签名外观的N2层,将签章图片添加到所述批注文本的下层,具体包括:获取需要添加签章的PDF文件;在所述PDF文件的签名外观的N2层中添加批注文本;获取签章图片,将所述签章图片添加到签名外观的批注文本的下层并保存。
在本发明的一种实施例中,所述计算文件数据的哈希值,具体包括:获取除占位符之外的文件数据,将所述文件数据分割成多个固定大小的块;获取任意值作为初始哈希值,根据所述初始哈希值对每个块进行迭代计算哈希值;将根据最后一个块计算得到的哈希值作为文件数据的哈希值进行输出。
在本发明的一种实施例中,所述对哈希值进行签名运算,得到签名值,具体包括:将哈希值使用签名者的私钥进行加密,生成一个十六进制编码的签名值。
在本发明的一种实施例中,所述固定大小的块大小为512位或1024位。
在本发明的一种实施例中,所述方法还包括:通过SM3算法确定文件数据的哈希值。
在本发明的一种实施例中,所述通过SM3算法确定文件数据的哈希值,具体包括:获取输入的文件数据的长度,将文件数据进行长度填充为512比特的整数倍;将填充后的数据按照每组512比特进行均匀分组;将每一个分组进行消息扩展,得到消息字;根据所述消息字进行迭代运算,得到输出结果。
一种PDF文件添加批注签章装置,包括:
批注添加模块,用于将批注文本添加到PDF文件签名外观的N2层,将签章图片添加到所述批注文本的下层;
文件转换模块,用于将添加了批注文本和签章图片的PDF文件转换成字节流,将字节流写入PDF签章中间文件并为签名值预留出占位符,得到文件数据;
哈希计算模块,用于计算文件数据的哈希值;
签名模块,用于对哈希值进行签名运算,得到签名值;
文件输出模块,用于将签名值覆盖文件数据中的签名值占位符,得到签章后的文件。
一种PDF文件添加批注签章设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通过总线通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被执行,以实现如上述各实施例任一项所述的方法。
一种非易失性存储介质,存储有计算机可执行指令,所述计算机可执行指令由处理器执行,以实现如上述各实施例任一项所述的方法。
本发明提供了一种PDF文件添加批注签章方法、装置及设备,至少包括以下有益效果:通过将批准文本内容和签章图片一同添加到签章外观中,由于批注文本内容和签章图片都是签章数据的一部分,而不是原文的一部分,解决了流转单据或者工作流审批签章时不能添加批注问题,使得盖章并添加批注数据的文件可以正常验签。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例提供的一种PDF文件添加批注签章方法步骤示意图;
图2为本发明实施例提供的签章外观仅存在图片签章的示例图;
图3为本发明实施例提供的签章外观仅存在文本签章的示例图;
图4为本发明实施例提供的签章外观包括批注文本和图片签章的示例图;
图5为本发明实施例提供的一种PDF文件添加批注签章装置示意图;
图6为本发明实施例提供的一种PDF文件添加批注签章设备示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例对本发明进行清楚、完整的描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本领域普通技术人员显式地和隐式地理解的是,本发明所描述的实施例在不冲突的情况下,可以与其它实施例相结合。除非另作定义,本发明所涉及的技术术语或者科学术语应当为本发明所属技术领域内具有一般技能的人士所理解的通常意义。本发明所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本发明所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;本发明所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本发明提出了一种PDF文件添加批注签章方法、装置及设备。下面进行具体说明。
图1为本发明实施例提供的一种PDF文件添加批注签章方法的步骤示意图,可以包括以下步骤:
S110:将批注文本添加到PDF文件签名外观的N2层,将签章图片添加到批注文本的下层。
在本发明的一种实施例中,将批注文本添加到PDF文件签名外观的N2层,将签章图片添加到批注文本的下层,具体包括:获取需要添加签章的PDF文件;在PDF文件的签名外观的N2层中添加批注文本;获取签章图片,将签章图片添加到签名外观的批注文本的下层并保存。
具体地,签名外观包括多个图层。签名外观的N0层呈现注释的背景和边框。指定背景和边框的属性存在于签名字段字典中,如果签名是由插件动态创建的,则不会设置这些属性。签名外观的N2层处理程序可以为该层创建任何外观,该层是静态的,当签名的有效状态改变时,它不会改变。
如图2所示为仅包括图片签章的示例图;图3所示为仅包括文本签章的示例图,文本签章内容显示在图中方框内;图4所示为添加了批注文本的签章示例图,其中批注文本签章添加在N2层,在N2层下方添加了图片签章。
S120:将添加了批注文本和签章图片的PDF文件转换成字节流,将字节流写入PDF签章中间文件并为签名值预留出占位符,得到文件数据。
具体地,将要签名的PDF文件被转换成字节流;将整个PDF文件写入PDF签章中间文件,并为签名值留出适当大小的空间(即占位符)。
S130:计算文件数据的哈希值。
在本发明的一种实施例中,计算文件数据的哈希值,具体包括:获取除占位符之外的文件数据,将文件数据分割成多个固定大小(512位或1024位)的块;获取任意值作为初始哈希值,根据初始哈希值对每个块进行迭代计算哈希值;将根据最后一个块计算得到的哈希值作为文件数据的哈希值进行输出。
具体地,签名值在文件中的位置以偏移量表示,字节偏移量不能改变,整个文件可以使用SM3等哈希算法来计算。在整个PDF文件上计算文档签名的哈希值,从字节0开始,到物理文件中的最后一个字节结束,但不包括签名值字节。
哈希计算的基本步骤可以包括以下部分:
1、输入数据:哈希算法的输入数据可以是任意长度的二进制数据,如文件、消息、密码等。
2、数据分块:为了方便处理大规模数据,哈希算法通常将输入数据分成固定大小的块。常见的块大小是512位或1024位。
3、初始哈希值:哈希算法需要一个初始的哈希值作为计算的起点。这个初始哈希值可以是任意值,通常由系统随机生成。
4、哈希迭代:从初始哈希值开始,哈希算法通过迭代的方式进行计算,每次迭代都会得到一个新的哈希值。这个过程通常需要进行多次迭代,直到得到最终的哈希值。
5、输出哈希值:经过多次迭代后,最终得到的哈希值即为输出结果。这个哈希值是一个固定长度的二进制数据,可以用来验证数据的完整性和身份认证等应用场景。
通过SM3算法确定文件数据的哈希值,具体包括:获取输入的文件数据的长度,将文件数据进行长度填充为512比特的整数倍;将填充后的数据按照每组512比特进行均匀分组;将每一个分组进行消息扩展,得到消息字;根据所述消息字进行迭代运算,得到输出结果。
S140:对哈希值进行签名运算,得到签名值。
在本发明的一种实施例中,对哈希值进行签名运算,得到签名值,具体包括:将哈希值使用签名者的私钥进行加密,生成一个十六进制编码的签名值。
在本发明的一种实施例中,将哈希值使用签名者的私钥进行加密,具体包括:随机生成一个字符串作为私钥,使用该字符串对哈希值进行加密。
具体地,哈希值使用签名者的私钥加密,并生成一个十六进制编码的签名对象(签名值),签名对象放在磁盘上的文件中,覆盖占位符的值。任何未用于签名对象的空间都将被零覆盖,PDF文件将重新加载,以确保内存中版本和磁盘上版本相同。
S150:将签名值覆盖文件数据中的签名值占位符,得到签章后的文件。
在本发明的一种实施例中,将批注文本作为签名外观的一部分进行签名,解决批注内容可以正常验签问题。
第一步:将批注文本内容添加到PDF文件签名外观的N2层;
第二步:将签章图片添加到PDF文件签名外观文本内容N2层下方,并预留签名值占位符,得到文件数据M;
第三步:计算文件数据M的哈希值,得到H;
第四步:对哈希值H进行签名运算,得到签名值S;
对哈希值进行签名(本质上是使用私钥进行加密操作),计算得到签名值S=Ks(H),其中K为权重值,S(*)为预设的映射关系。
第五步:将签名值S覆盖文件数据M中的签名值占位符,得到签章后的文件。
后续流程其他人签章时,按照第一步到第五步的方法执行,便可以解决签章同时添加批注的问题。由于批注文本内容和签章图片都是签章数据的一部分,而不是原文的一部分,所有签章都可以正常验签。
以上为本发明实施例提供的一种PDF文件添加批注签章方法,基于同样的发明思路,本发明实施例还提供了相应的一种PDF文件添加批注签章装置,如图5所示,包括:
批注添加模块502,用于将批注文本添加到PDF文件签名外观的N2层,将签章图片添加到批注文本的下层;
文件转换模块504,用于将添加了批注文本和签章图片的PDF文件转换成字节流,将字节流写入PDF签章中间文件并为签名值预留出占位符,得到文件数据;
哈希计算模块506,用于计算文件数据的哈希值;
签名模块508,用于对哈希值进行签名运算,得到签名值;
文件输出模块510,用于将签名值覆盖文件数据中的签名值占位符,得到签章后的文件。
本发明实施例还提供了相应的一种PDF文件添加批注签章设备,如图6所示,包括:
至少一个处理器602(processor)、通信接口604(Communications Interface)、存储器606(memory)和通信总线608;其中,处理器602,通信接口604,存储器606通过通信总线608完成相互间的通信;处理器602可以调用存储器606中存储的逻辑指令,以使至少一个处理器602执行上述各实施例的步骤。
基于同样的思路,本发明的一些实施例还提供了上述方法对应的介质。
本发明的一些实施例提供的一种存储介质,存储有计算机可执行指令,计算机可执行指令由处理器执行,以实现上述各实施例的步骤。
另一方面,本申请实施例还提供一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,计算机程序被处理器执行时,计算机能够执行上述各实施例所提供的一种PDF文件添加批注签章方法的步骤。
本发明中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备、介质和程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例提供的设备、介质和程序产品与方法是一一对应的,因此,设备、介质和程序产品也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述设备、介质和程序产品的有益技术效果。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程方法商品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程方法商品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程方法商品或者方法中还存在另外的相同要素。
以上仅为本发明的实施例而已,并不用于限制本发明。虽然,上文中已经用一般性说明及具体实施方案对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (10)
1.一种PDF文件添加批注签章方法,其特征在于,包括:
将批注文本添加到PDF文件签名外观的N2层,将签章图片添加到所述批注文本的下层;
将添加了批注文本和签章图片的PDF文件转换成字节流,将字节流写入PDF签章中间文件并为签名值预留出占位符,得到文件数据;
计算文件数据的哈希值;
对哈希值进行签名运算,得到签名值;
将签名值覆盖文件数据中的签名值占位符,得到签章后的文件。
2.根据权利要求1所述的方法,其特征在于,将批注文本添加到PDF文件签名外观的N2层,将签章图片添加到所述批注文本的下层,具体包括:
获取需要添加签章的PDF文件;
在所述PDF文件的签名外观的N2层中添加批注文本;
获取签章图片,将所述签章图片添加到签名外观的批注文本的下层并保存。
3.根据权利要求1所述的方法,其特征在于,所述计算文件数据的哈希值,具体包括:
获取除占位符之外的文件数据,将所述文件数据分割成多个固定大小的块;
获取任意值作为初始哈希值,根据所述初始哈希值对每个块进行迭代计算哈希值;
将根据最后一个块计算得到的哈希值作为文件数据的哈希值进行输出。
4.根据权利要求1所述的方法,其特征在于,所述对哈希值进行签名运算,得到签名值,具体包括:
将哈希值使用签名者的私钥进行加密,生成一个十六进制编码的签名值。
5.根据权利要求3所述的方法,其特征在于,所述固定大小的块大小为512位或1024位。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过SM3算法确定文件数据的哈希值。
7.根据权利要求6所述的方法,其特征在于,所述通过SM3算法确定文件数据的哈希值,具体包括:
获取输入的文件数据的长度,将文件数据进行长度填充为512比特的整数倍;
将填充后的数据按照每组512比特进行均匀分组;
将每一个分组进行消息扩展,得到消息字;
根据所述消息字进行迭代运算,得到输出结果。
8.一种PDF文件添加批注签章装置,其特征在于,包括:
批注添加模块,用于将批注文本添加到PDF文件签名外观的N2层,将签章图片添加到所述批注文本的下层;
文件转换模块,用于将添加了批注文本和签章图片的PDF文件转换成字节流,将字节流写入PDF签章中间文件并为签名值预留出占位符,得到文件数据;
哈希计算模块,用于计算文件数据的哈希值;
签名模块,用于对哈希值进行签名运算,得到签名值;
文件输出模块,用于将签名值覆盖文件数据中的签名值占位符,得到签章后的文件。
9.一种PDF文件添加批注签章设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通过总线通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被执行,以实现如权利要求1-7任一项所述的方法。
10.一种非易失性存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令由处理器执行,以实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410058201.0A CN118036576A (zh) | 2024-01-15 | 2024-01-15 | 一种pdf文件添加批注签章方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410058201.0A CN118036576A (zh) | 2024-01-15 | 2024-01-15 | 一种pdf文件添加批注签章方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118036576A true CN118036576A (zh) | 2024-05-14 |
Family
ID=90990231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410058201.0A Pending CN118036576A (zh) | 2024-01-15 | 2024-01-15 | 一种pdf文件添加批注签章方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118036576A (zh) |
-
2024
- 2024-01-15 CN CN202410058201.0A patent/CN118036576A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021238527A1 (zh) | 数字签名生成方法、装置、计算机设备和存储介质 | |
US20190158296A1 (en) | Redactable document signatures | |
US20170359183A1 (en) | Methods and apparatus for validating a digital signature | |
CN101976322B (zh) | 基于一种完整性校验的安全元数据管理方法 | |
US20200186354A1 (en) | Digital composition hashing | |
US8839446B2 (en) | Protecting archive structure with directory verifiers | |
US20190207748A1 (en) | Blockchain storage device | |
US20140205090A1 (en) | Method and system for securely computing a base point in direct anonymous attestation | |
KR101989813B1 (ko) | 특정 포맷을 가지는 대체 데이터의 생성 및 검증 | |
CN103563289B (zh) | 保护加密系统中的控制向量的方法和系统 | |
CN112887081B (zh) | 基于sm2的签名验签方法、装置及系统 | |
CN111368335A (zh) | Pdf文件的电子签章方法及电子签章验证方法和系统 | |
JPWO2009075353A1 (ja) | 分散情報生成装置、復元装置、検証装置及び秘密情報分散システム | |
CN111967875A (zh) | 基于区块链的文件上链存证方法、装置 | |
CN114781007A (zh) | 基于树的文档批量签名及验签方法、系统 | |
CN109274504B (zh) | 一种基于云平台的多用户大数据存储分享方法及系统 | |
CN114265968A (zh) | 一种ofd版式文件电子签章方法和系统 | |
WO2019169721A1 (zh) | 应用多渠道打包方法、装置、计算机设备及存储介质 | |
US11431476B2 (en) | Install time creation of forward error correction data and integrity checksums | |
CN111274615A (zh) | 一种基于ofd格式文件的长效数字签名方法 | |
CN118036576A (zh) | 一种pdf文件添加批注签章方法、装置及设备 | |
Kang et al. | ID‐Based Public Auditing Protocol for Cloud Data Integrity Checking with Privacy‐Preserving and Effective Aggregation Verification | |
CN111050218A (zh) | 机顶盒升级及校验方法、服务器、机顶盒及存储介质 | |
JP4860314B2 (ja) | 情報処理装置、タイムスタンプトークンの発行方法、及び、コンピュータプログラム | |
CN118157871A (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 |