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