在嵌入在html中的pdf电子签章,一种网页PDF中电子签章定位方法与流程
本發(fā)明屬于一種電子簽章技術(shù)領(lǐng)域,具體涉及一種網(wǎng)頁(yè)P(yáng)DF中電子簽章定位方法。
背景技術(shù):
國(guó)密電子簽章中的套章方法操作復(fù)雜,無(wú)法對(duì)電子文檔中一次性加蓋多個(gè)印章的,大大降低了蓋章效率,尤其是無(wú)法在所有需要蓋章的位置處添加指定印章,因此無(wú)法滿(mǎn)足人們的需求。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問(wèn)題是針對(duì)上述現(xiàn)有技術(shù)的不足提供一種網(wǎng)頁(yè)P(yáng)DF中電子簽章定位方法,其結(jié)合數(shù)字簽名技術(shù),解決了對(duì)電子文檔中一次性加蓋多個(gè)印章的技術(shù)問(wèn)題,大大提高了蓋章效率,在所有需要蓋章的位置處添加指定印章,通過(guò)電子簽章技術(shù)一次性簽署所有印章。
為實(shí)現(xiàn)上述技術(shù)目的,本發(fā)明采取的技術(shù)方案為:
一種網(wǎng)頁(yè)P(yáng)DF中電子簽章定位方法,其特征在于:包括以下步驟:
1)解析PDF文檔元數(shù)據(jù),記錄PDF文檔所在位置坐標(biāo);
2)當(dāng)鼠標(biāo)按下時(shí),獲取到當(dāng)前鼠標(biāo)的位置,即移動(dòng)前相對(duì)瀏覽器的位置;鼠標(biāo)移動(dòng)結(jié)束后,獲取鼠標(biāo)的位置,即移動(dòng)后的位置;
3)在點(diǎn)擊圖片的時(shí)候計(jì)算的位置是指鼠標(biāo)在圖片里的位置即鼠標(biāo)相對(duì)于圖片父級(jí)左上角的橫坐標(biāo)與縱坐標(biāo)的值,它們用來(lái)保證在移動(dòng)后鼠標(biāo)仍然停留在圖片的相對(duì)位置,通過(guò)將鼠標(biāo)的位置減去這兩個(gè)偏移值;
4)計(jì)算移動(dòng)前的位置的橫坐標(biāo)、縱坐標(biāo)與移動(dòng)結(jié)束后的位置的橫坐標(biāo)、縱坐標(biāo)的差值,移動(dòng)后元素的橫坐標(biāo)標(biāo)為:鼠標(biāo)移動(dòng)后的橫坐標(biāo)-鼠標(biāo)按下的橫坐標(biāo)+元素的初始橫坐標(biāo);縱坐標(biāo)為:鼠標(biāo)移動(dòng)后的縱坐標(biāo)-鼠標(biāo)按下的縱坐標(biāo)+元素的初始縱坐標(biāo);
5)把新的橫坐標(biāo)與縱坐標(biāo)替換初始元素的橫坐標(biāo)與縱坐標(biāo),拖拽印章到pdf的步驟就結(jié)束了。
上述的pdf中電子印章位置算法,包括以下步驟:
1)將pdf進(jìn)行定位并記錄標(biāo)準(zhǔn)pdf的總頁(yè)數(shù)乘以標(biāo)準(zhǔn)pdf單張頁(yè)面的長(zhǎng)減去印章的長(zhǎng)就是印章可拖動(dòng)的上下范圍,上下范圍不得小于0;
2)記錄PDF的寬減去印章的寬,就是印章在pdf中可拖動(dòng)的左右范圍的長(zhǎng)度,左右范圍不得小于0;
3)設(shè)定PDF左上角橫坐標(biāo)與縱坐標(biāo)為0;
4)計(jì)算PDF相對(duì)于屏幕左上角的位置即橫坐標(biāo)與縱坐標(biāo)的差值;
5)當(dāng)鼠標(biāo)移動(dòng)到PDF范圍內(nèi)并點(diǎn)擊印章不放時(shí),獲取印章相對(duì)屏幕左上角的位置
6)印章相對(duì)屏幕左上角的橫坐標(biāo)與縱坐標(biāo)減去PDF相對(duì)于屏幕左上角的橫坐標(biāo)與縱坐標(biāo)得到的結(jié)果就是印章相對(duì)于PDF的坐標(biāo)值;
7)當(dāng)鼠標(biāo)移動(dòng)時(shí),不斷的獲取鼠標(biāo)的位置,并計(jì)算印章的新坐標(biāo)修改印章相對(duì)于PDF 的坐標(biāo)位置,直到鼠標(biāo)離開(kāi),確定印章的位置;
8)拖拽結(jié)束,取消拖拽的標(biāo)記,記錄印章相對(duì)于PDF的坐標(biāo)位置即橫坐標(biāo)、縱坐標(biāo)。
上述的后臺(tái)簽章PDF的定位算法分為PDF沒(méi)有旋轉(zhuǎn)進(jìn)行簽章算法和PDF旋轉(zhuǎn)后進(jìn)行簽章算法兩種情況;
其中PDF沒(méi)有旋轉(zhuǎn)進(jìn)行簽章算法包括以下步驟:
1)原始圖片的像素根據(jù)一定的倍率轉(zhuǎn)到網(wǎng)頁(yè)端使其自適應(yīng)屏幕端的分辨率;
2)設(shè)置pdf的左下角為原點(diǎn)進(jìn)行判算;
3)最終簽章的橫坐標(biāo)就是印章位置的橫坐標(biāo),縱坐標(biāo)就是單頁(yè)pdf的長(zhǎng)度減去印章的大小減去印章相對(duì)于pdf左上角位置的縱坐標(biāo);
其中PDF旋轉(zhuǎn)后進(jìn)行簽章算法包括以下步驟:
a)以PDF的中心為旋轉(zhuǎn)點(diǎn),記錄PDF旋轉(zhuǎn)的角度;
b)簽章的橫坐標(biāo)為:余弦函數(shù)乘以斜邊的長(zhǎng)度減去印章縱坐標(biāo)的長(zhǎng)度,簽章的縱坐標(biāo)為:正弦函數(shù)乘以斜邊的長(zhǎng)度減去印章橫坐標(biāo)的長(zhǎng)度。
本發(fā)明基于PDF電子簽章技術(shù),通過(guò)驗(yàn)證PDF在蓋章后內(nèi)容有無(wú)發(fā)生變化,保證內(nèi)容真實(shí)性與完整性。
本發(fā)明使用H5中的Canvas API以及前端加密技術(shù)對(duì)簽章圖片進(jìn)行轉(zhuǎn)碼,在圖片拖拽時(shí)動(dòng)態(tài)計(jì)算鼠標(biāo)相對(duì)于PDF坐標(biāo)系中的位置,實(shí)現(xiàn)簽章圖片的隨意拖拽放置。通過(guò)對(duì)簽章的上浮,糾偏,潤(rùn)色等一系列的處理,使其效果如同紙質(zhì)蓋章或簽名。
前后端使用公鑰私鑰進(jìn)行加密解密操作,通過(guò)前端加密技術(shù)對(duì)簽章圖片字節(jié)流進(jìn)行公鑰加密,文件傳輸是以亂碼的形式顯示的,他人無(wú)法閱讀或篡改。后端在接收到前端發(fā)送的字節(jié)流信息之后,使用私鑰進(jìn)行解碼,保證文件的安全性。使用電子文件和數(shù)字簽章技術(shù),甚至比使用經(jīng)過(guò)簽字蓋章的書(shū)面文件更為安全。
本發(fā)明的優(yōu)點(diǎn)在于以下幾點(diǎn):結(jié)合數(shù)字簽名技術(shù),解決了對(duì)電子文檔中一次性加蓋多個(gè)印章的技術(shù)問(wèn)題,大大提高了蓋章效率,在所有需要蓋章的位置處添加指定印章,通過(guò)電子簽章技術(shù)一次性簽署所有印章。
具體實(shí)施方式
下面對(duì)本發(fā)明的具體實(shí)施方式作出進(jìn)一步說(shuō)明:
一種網(wǎng)頁(yè)P(yáng)DF中電子簽章定位方法,其特征在于:包括以下步驟:
1)解析PDF文檔元數(shù)據(jù),記錄PDF文檔所在位置坐標(biāo);
2)當(dāng)鼠標(biāo)按下時(shí),獲取到當(dāng)前鼠標(biāo)的位置,即移動(dòng)前相對(duì)瀏覽器的位置;鼠標(biāo)移動(dòng)結(jié)束后,獲取鼠標(biāo)的位置,即移動(dòng)后的位置;
3)在點(diǎn)擊圖片的時(shí)候計(jì)算的位置是指鼠標(biāo)在圖片里的位置即鼠標(biāo)相對(duì)于圖片父級(jí)左上角的橫坐標(biāo)與縱坐標(biāo)的值,它們用來(lái)保證在移動(dòng)后鼠標(biāo)仍然停留在圖片的相對(duì)位置,通過(guò)將鼠標(biāo)的位置減去這兩個(gè)偏移值;
4)計(jì)算移動(dòng)前的位置的橫坐標(biāo)、縱坐標(biāo)與移動(dòng)結(jié)束后的位置的橫坐標(biāo)、縱坐標(biāo)的差值,移動(dòng)后元素的橫坐標(biāo)標(biāo)為:鼠標(biāo)移動(dòng)后的橫坐標(biāo)-鼠標(biāo)按下的橫坐標(biāo)+元素的初始橫坐標(biāo);縱坐標(biāo)為:鼠標(biāo)移動(dòng)后的縱坐標(biāo)-鼠標(biāo)按下的縱坐標(biāo)+元素的初始縱坐標(biāo);
5)把新的橫坐標(biāo)與縱坐標(biāo)替換初始元素的橫坐標(biāo)與縱坐標(biāo),拖拽印章到pdf的步驟就結(jié)束了。
上述的pdf中電子印章位置算法,包括以下步驟:
1)將pdf進(jìn)行定位并記錄標(biāo)準(zhǔn)pdf的總頁(yè)數(shù)乘以標(biāo)準(zhǔn)pdf單張頁(yè)面的長(zhǎng)減去印章的長(zhǎng)就是印章可拖動(dòng)的上下范圍,上下范圍不得小于0;
2)記錄PDF的寬減去印章的寬,就是印章在pdf中可拖動(dòng)的左右范圍的長(zhǎng)度,左右范圍不得小于0;
3)設(shè)定PDF左上角橫坐標(biāo)與縱坐標(biāo)為0;
4)計(jì)算PDF相對(duì)于屏幕左上角的位置即橫坐標(biāo)與縱坐標(biāo)的差值;
5)當(dāng)鼠標(biāo)移動(dòng)到PDF范圍內(nèi)并點(diǎn)擊印章不放時(shí),獲取印章相對(duì)屏幕左上角的位置
6)印章相對(duì)屏幕左上角的橫坐標(biāo)與縱坐標(biāo)減去PDF相對(duì)于屏幕左上角的橫坐標(biāo)與縱坐標(biāo)得到的結(jié)果就是印章相對(duì)于PDF的坐標(biāo)值;
7)當(dāng)鼠標(biāo)移動(dòng)時(shí),不斷的獲取鼠標(biāo)的位置,并計(jì)算印章的新坐標(biāo)修改印章相對(duì)于PDF 的坐標(biāo)位置,直到鼠標(biāo)離開(kāi),確定印章的位置;
8)拖拽結(jié)束,取消拖拽的標(biāo)記,記錄印章相對(duì)于PDF的坐標(biāo)位置即橫坐標(biāo)、縱坐標(biāo)。
上述的后臺(tái)簽章PDF的定位算法分為PDF沒(méi)有旋轉(zhuǎn)進(jìn)行簽章算法和PDF旋轉(zhuǎn)后進(jìn)行簽章算法兩種情況;
其中PDF沒(méi)有旋轉(zhuǎn)進(jìn)行簽章算法包括以下步驟:
1)原始圖片的像素根據(jù)一定的倍率轉(zhuǎn)到網(wǎng)頁(yè)端使其自適應(yīng)屏幕端的分辨率;
2)設(shè)置pdf的左下角為原點(diǎn)進(jìn)行判算;
3)最終簽章的橫坐標(biāo)就是印章位置的橫坐標(biāo),縱坐標(biāo)就是單頁(yè)pdf的長(zhǎng)度減去印章的大小減去印章相對(duì)于pdf左上角位置的縱坐標(biāo);
其中PDF旋轉(zhuǎn)后進(jìn)行簽章算法包括以下步驟:
a)以PDF的中心為旋轉(zhuǎn)點(diǎn),記錄PDF旋轉(zhuǎn)的角度;
b)簽章的橫坐標(biāo)為:余弦函數(shù)乘以斜邊的長(zhǎng)度減去印章縱坐標(biāo)的長(zhǎng)度,簽章的縱坐標(biāo)為:正弦函數(shù)乘以斜邊的長(zhǎng)度減去印章橫坐標(biāo)的長(zhǎng)度。
以上僅是本發(fā)明的優(yōu)選實(shí)施方式,本發(fā)明的保護(hù)范圍并不僅局限于上述實(shí)施例,凡屬于本發(fā)明思路下的技術(shù)方案均屬于本發(fā)明的保護(hù)范圍。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理前提下的若干改進(jìn)和潤(rùn)飾,應(yīng)視為本發(fā)明的保護(hù)范圍。
總結(jié)
以上是生活随笔為你收集整理的在嵌入在html中的pdf电子签章,一种网页PDF中电子签章定位方法与流程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 微信朋友圈文章可能构成「现有技术公开」而
- 下一篇: 行为招聘法:你会被谷歌录取吗