1. 程式人生 > 程式設計 >C# 對PDF文件加密、解密(基於Spire.Cloud.SDK for .NET)

C# 對PDF文件加密、解密(基於Spire.Cloud.SDK for .NET)

Spire.Cloud.SDK for .NET提供了介面PdfSecurityApi可用於加密、解密PDF文件。本文將通過C#程式碼演示具體加密及解密方法。

使用工具:

  • Spire.Cloud.SDK for .NET
  • Visual Studio

必要步驟:

步驟一:

dll檔案獲取及匯入。在程式中通過Nuget搜尋下載,直接匯入所有dll。

匯入效果如下如所示:

C# 對PDF文件加密、解密(基於Spire.Cloud.SDK for .NET)

步驟二:

App ID及Key獲取。在“我的應用”板塊中建立應用以獲得App ID及App Key。

C# 對PDF文件加密、解密(基於Spire.Cloud.SDK for .NET)

步驟三:

源文件上傳。在“文件管理”板塊,上傳源文件。這裡可以建資料夾,將文件存放在資料夾下。不建資料夾時,源文件及結果文件直接儲存在根目錄。本文示例中,建了兩個資料夾,分別用於存放源文件及結果文件。(雲平臺提供免費1 萬次呼叫次數和 2G 文件記憶體)

C# 對PDF文件加密、解密(基於Spire.Cloud.SDK for .NET)

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);
    }    
  }
}

生成的文件開啟時,需要輸入密碼。

文件加密結果:

C# 對PDF文件加密、解密(基於Spire.Cloud.SDK for .NET)

【示例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文件加密、解密的資料請關注我們其它相關文章!