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