對(duì)pdf進(jìn)行簽名

前言

最近項(xiàng)目中遇到了這樣一個(gè)使用場(chǎng)景轿偎,客戶端需要根據(jù)后臺(tái)返回的合同數(shù)據(jù)拌屏,生成一個(gè)文件,然后填充用戶數(shù)據(jù)后党觅,讓用戶進(jìn)行手寫簽名雌澄。

需求分析

后臺(tái)給我們客戶端什么數(shù)據(jù)?按照PC來(lái)說(shuō)杯瞻,可能我們會(huì)考慮直接把word格式的合同文檔發(fā)來(lái)镐牺,用戶填好信息后,在想辦法生成簽名的圖片魁莉,然后在添加到文檔中睬涧。這個(gè)過程想想就麻煩。于是思考了幾天后旗唁,初步形成了下面的思路畦浓。

  1. 首先合同以html格式發(fā)給客戶端,客戶端可以在webview中進(jìn)行預(yù)覽展示
  • 接著要求用戶輸入一些信息逆皮,這些信息待會(huì)兒會(huì)填充到html中指定的位置
  • 接著我們可以將替換了信息的html通過webview展示宅粥,并且可以輸出為pdf文件
  • 再接著我們可以使用webview加載剛才生成好的未簽名的pdf,讓用戶進(jìn)行簽名电谣。
  • 用戶簽名結(jié)束后秽梅,我們可以再生成簽名后的pdf文件

其中前兩步比較常規(guī)抹蚀,我們也經(jīng)常使用,所以不多提了企垦,我們主要從第三部講起环壤。

生成未簽名pdf

如何把webview展示的內(nèi)容導(dǎo)出為pdf。目前有兩種方式钞诡,一種是按照常用的視圖截圖方式郑现,將內(nèi)容保存為圖片,然后再生成pdf荧降,而另一種是直接使用ios提供的方法接箫,直接打印為pdf文件。這里推薦第二種方式朵诫,據(jù)說(shuō)比較清晰辛友,而且有封裝的比較完善的庫(kù),可以直接使用剪返。
比如:BNHtmlPdfKit

Simulator Screen Shot 2016年3月18日 21.58.14.png

進(jìn)行簽名

簽名的思路是直接根據(jù)用戶手指的滑動(dòng)废累,生成貝塞爾曲線,模擬用戶手寫簽名脱盲。這一步的核心是邑滨,我們需要保存下來(lái)用戶簽名的軌跡信息,我們除了要在屏幕上向用戶展示簽名外钱反,還要根據(jù)簽名的軌跡信息掖看,來(lái)將簽名繪制到最終的pdf文件中。關(guān)于手寫簽名也有很多優(yōu)化手段诈铛,讀者可以看下面幾個(gè)不錯(cuò)的庫(kù)乙各。
Smooth-Line-View
PPSSignatureView

Simulator Screen Shot 2016年3月18日 21.58.41.png

生成簽名pdf

前面兩步呢墨礁,我們拿到了未簽名的pdf和用戶的手寫簽名數(shù)據(jù)幢竹,接著我們需要把這二者結(jié)合起來(lái),生成簽名的pdf恩静。這里的思路就是:根據(jù)未簽名的pdf焕毫,一頁(yè)一頁(yè)的復(fù)制出來(lái)一份新的pdf,同時(shí)驶乾,在需要簽名的頁(yè)面邑飒,將簽名信息填充進(jìn)去。最后我們生成的就是簽名的pdf文件了级乐。


Simulator Screen Shot 2016年3月18日 21.59.10.png

完整demo

signature2pdf

參考

ThatPDF
PDFSign

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末疙咸,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子风科,更是在濱河造成了極大的恐慌撒轮,老刑警劉巖乞旦,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異题山,居然都是意外死亡兰粉,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門顶瞳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)玖姑,“玉大人,你說(shuō)我怎么就攤上這事慨菱⊙媛纾” “怎么了?”我有些...
    開封第一講書人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵符喝,是天一觀的道長(zhǎng)舔琅。 經(jīng)常有香客問我,道長(zhǎng)洲劣,這世上最難降的妖魔是什么备蚓? 我笑而不...
    開封第一講書人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮囱稽,結(jié)果婚禮上郊尝,老公的妹妹穿的比我還像新娘。我一直安慰自己战惊,他們只是感情好流昏,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著吞获,像睡著了一般况凉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上各拷,一...
    開封第一講書人閱讀 50,050評(píng)論 1 291
  • 那天刁绒,我揣著相機(jī)與錄音,去河邊找鬼烤黍。 笑死知市,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的速蕊。 我是一名探鬼主播嫂丙,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼规哲!你這毒婦竟也來(lái)了跟啤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎隅肥,沒想到半個(gè)月后关顷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡武福,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年议双,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片捉片。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡平痰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出伍纫,到底是詐尸還是另有隱情宗雇,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布莹规,位于F島的核電站赔蒲,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏良漱。R本人自食惡果不足惜舞虱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望母市。 院中可真熱鬧矾兜,春花似錦、人聲如沸患久。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蒋失。三九已至返帕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間篙挽,已是汗流浹背荆萤。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留嫉髓,地道東北人观腊。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像算行,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子苫耸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,860評(píng)論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理州邢,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,638評(píng)論 18 139
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)量淌、插件骗村、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,066評(píng)論 4 62
  • 一個(gè)人的發(fā)展,在乎他的實(shí)力呀枢,但是還是需要一個(gè)平臺(tái)胚股,而這個(gè)平臺(tái)就需要生命中的貴人的提攜。正如:千里馬常有裙秋,而伯樂...
    Smnect閱讀 373評(píng)論 0 0
  • “古詩(shī)詞思維導(dǎo)圖系列”通過使用思維導(dǎo)圖的分解琅拌,把古詩(shī)詞圖形化、場(chǎng)景化摘刑,讓學(xué)習(xí)者更直觀的欣賞到詩(shī)詞之美进宝,感受到詩(shī)詞之...
    兮兮函閱讀 7,567評(píng)論 0 50