C# 對PDF文件加密、解密(基於Spire.Cloud.SDK for .NET)
阿新 • • 發佈:2020-07-20
Spire.Cloud.SDK for .NET提供了介面PdfSecurityApi可用於加密、解密PDF文件。本文將通過C#程式碼演示具體加密及解密方法。
使用工具:
- Spire.Cloud.SDK for .NET
- Visual Studio
必要步驟:
步驟一:
dll檔案獲取及匯入。在程式中通過Nuget搜尋下載,直接匯入所有dll。
匯入效果如下如所示:
步驟二:
App ID及Key獲取。在“我的應用”板塊中建立應用以獲得App ID及App Key。
步驟三:
源文件上傳。在“文件管理”板塊,上傳源文件。這裡可以建資料夾,將文件存放在資料夾下。不建資料夾時,源文件及結果文件直接儲存在根目錄。本文示例中,建了兩個資料夾,分別用於存放源文件及結果文件。(雲平臺提供免費1 萬次呼叫次數和 2G 文件記憶體)
C# 程式碼示例
【示例1】加密PDF文件
using System; using Spire.Cloud.Pdf.Sdk.Client; using Spire.Cloud.Pdf.Sdk.Api; using System.IO; using System.Collections.Generic; namespace Encryt { class Program { //配置賬號資訊 static String appId = "App ID"; static String appKey = "App Key"; static String baseUrl = "https://api.e-iceblue.cn"; static Configuration PdfConfiguration = new Configuration(appId,appKey,baseUrl); static PdfSecurityApi PdfSecurityApi = new PdfSecurityApi(PdfConfiguration); static void Main(string[] args) { string name = "sample.pdf";//源文件 string destFilePath = "pdfsecurity/Encrypt.pdf";//結果文件路徑(將結果文件存放在pdfsecurity資料夾下) string userPassword = "123";//設定使用者密碼 string ownerPassword = "321";//設定所有者密碼 string keySize = "Key40Bit";//設定keySize(如果不需要設定,可設定為null) List<string> permissionsFlags = new List<string>();//設定permissionsFlags(如果不需要設定,可設定為null) permissionsFlags.Add("Print"); string folder = "input";//源文件所在資料夾 string password = null;//源文件密碼 string storage = null; //呼叫方法加密文件 PdfSecurityApi.EncryptDocumentInStorage(name,destFilePath,userPassword,ownerPassword,keySize,permissionsFlags,folder,storage,password); } } }
生成的文件開啟時,需要輸入密碼。
文件加密結果:
【示例2】解密PDF文件
這裡以上文中生成的加密PDF為測試文件。
using System; using Spire.Cloud.Pdf.Sdk.Client; using Spire.Cloud.Pdf.Sdk.Api; namespace Decrypt { class Program { //配置賬號資訊 static String appId = "App ID"; static String appKey = "App Key"; static String baseUrl = "https://api.e-iceblue.cn"; static Configuration PdfConfiguration = new Configuration(appId,baseUrl); static PdfSecurityApi PdfSecurityApi = new PdfSecurityApi(PdfConfiguration); static void Main(string[] args) { string name = "Encrypt.pdf";//源文件 string destFilePath = "pdfsecurity/Decrypt.pdf";//結果文件路徑(pdfsecurity為結果文件所在資料夾) string password = "321";//文件密碼(這裡需要使用的是ownerpassword) string folder = "pdfsecurity";//源文件所在資料夾 string storage = null; //呼叫方法解密文件 PdfSecurityApi.DecryptDocumentInStorage(name,password,storage); } } }
生成的文件將不再有密碼保護。
以上就是C# 對PDF文件加密、解密(基於Spire.Cloud.SDK for .NET)的詳細內容,更多關於C# 對PDF文件加密、解密的資料請關注我們其它相關文章!