翻譯|行業(yè)資訊|編輯:龔雪|2023-10-18 10:38:46.127|閱讀 89 次
概述:本文將為大家介紹如何使用DevExpress Office File API實(shí)現(xiàn).NET MAUI移動(dòng)應(yīng)用程序的電子和手繪PDF簽名功能,歡迎下載最新組件體驗(yàn)~
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
對(duì)PDF文件簽名是移動(dòng)設(shè)備上越來(lái)越普遍的使用需求,本文將描述自動(dòng)生成/“手繪”簽名與如何使用DevExpress Office File API組件來(lái)實(shí)現(xiàn)在.NET MAUI應(yīng)用程序中快速合并簽名/簽名支持之間的區(qū)別。
DevExpress Office File API是一個(gè)專(zhuān)為C#, VB.NET 和 ASP.NET等開(kāi)發(fā)人員提供的非可視化.NET庫(kù)。有了這個(gè)庫(kù),不用安裝Microsoft Office,就可以完全自動(dòng)處理Excel、Word等文檔。開(kāi)發(fā)人員使用一個(gè)非常易于操作的API就可以生成XLS, XLSx, DOC, DOCx, RTF, CSV 和 Snap Report等企業(yè)級(jí)文件。
獲取DevExpress Office File API v23.1正式版下載
DevExpress技術(shù)交流群9:909157416 歡迎一起進(jìn)群討論
雖然這兩種類(lèi)型的簽名都很相似,但它們?cè)诠δ?實(shí)踐上存在差異。
電子簽名(e-sign)使用加密方法來(lái)確認(rèn)文件是從特定的源發(fā)送的,并且在發(fā)送后沒(méi)有被更改。下面的列表描述了使用電子簽名簽名文件時(shí)執(zhí)行的簡(jiǎn)化操作順序:
1. 發(fā)送方計(jì)算他們想要發(fā)送的PDF文件的哈希碼。
2. 發(fā)送方創(chuàng)建一個(gè)公鑰/私鑰對(duì),并用私鑰加密哈希碼。
3. 發(fā)送方發(fā)送PDF文件、加密的哈希碼(簽名)、公鑰和證書(shū),證書(shū)包含發(fā)件人的信息,接收方可以用它來(lái)確認(rèn)公鑰的真實(shí)性。
4. 接收方用公鑰解密加密的哈希碼(簽名),計(jì)算文檔的哈希碼,并比較這些哈希。
5. 如果它們相等,則該文件是真實(shí)的。如果文件被修改,則文檔哈希碼將與使用簽名中的公鑰解密的哈希碼不匹配。
為了獲得額外的保護(hù),您可以使用認(rèn)證服務(wù)。這些服務(wù)有助于確保公鑰屬于發(fā)送文檔的用戶。
手繪簽名很像紙上的“濕”簽名,在PDF的情況下,它只是一個(gè)圖像插入到文檔的特定區(qū)域。您可以將這兩種簽名類(lèi)型結(jié)合起來(lái),以確認(rèn)手繪簽名的真實(shí)性。
DevExpress Office File API包含設(shè)計(jì)用于處理不同文檔類(lèi)型(PDF, Word, Excel, HTML)的類(lèi),在本文中,我們將使用Office File API對(duì)PDF文件進(jìn)行簽名,其中包含了剛才提到的兩種簽名類(lèi)型。
類(lèi)是PDF文件修改的入口點(diǎn),在這個(gè)項(xiàng)目中,我們使用了這個(gè)類(lèi)的以下成員:
Android和iOS應(yīng)用都是沙盒式的,他們對(duì)設(shè)備文件系統(tǒng)的訪問(wèn)權(quán)限有限。要處理應(yīng)用程序包文件,需要將它們復(fù)制到Cache或AppDataDirectory(在本例中使用)文件夾中。在我們的例子中,這些文件是PDF和PFX證書(shū)文件。下面的代碼示例定義了將指定的PDF文件從應(yīng)用程序包復(fù)制到AppDataDirectory文件夾的方法:
public async Task<string> CopyWorkingFilesToAppData(string fileName) { using Stream fileStream = await FileSystem.Current.OpenAppPackageFileAsync(fileName); string targetFile = Path.Combine(FileSystem.Current.AppDataDirectory, fileName); using FileStream outputStream = File.OpenWrite(targetFile); fileStream.CopyTo(outputStream); return targetFile; }
一旦實(shí)現(xiàn),您就可以使用 方法打開(kāi)PDF文件。
DevExpress Office File API允許您檢測(cè)PDF AcroForm字段并根據(jù)需要填充它們,我們使用以下成員來(lái)定位第一個(gè)可用的簽名字段:
在這個(gè)特殊的使用場(chǎng)景中,PdfSignatureBuilder是另一個(gè)重要的類(lèi)。它存儲(chǔ)了簽名本身的以下信息:
用戶可以“繪制”一個(gè)簽名,并將其嵌入到PDF文件中,這是通過(guò)使用控件實(shí)現(xiàn)的。顧名思義,該控件可以將用戶的繪圖保存為圖像——稍后我們將圖像傳遞給PdfSignatureBuilder。
一旦文檔被簽名, 方法保存簽名的PDF文件。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都網(wǎng)