欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C# 对PDF文档加密、解密(基于Spire.Cloud.SDK for .NET)

程序员文章站 2022-11-16 10:34:37
spire.cloud.sdk for .net提供了接口pdfsecurityapi可用于加密、解密pdf文档。本文将通过c#代码演示具体加密及解密方法。使用工具: spire.cloud.sdk...

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, appkey, 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,destfilepath,password,folder,storage);
    }   
  }
}

生成的文档将不再有密码保护。

以上就是c# 对pdf文档加密、解密(基于spire.cloud.sdk for .net)的详细内容,更多关于c# 对pdf文档加密、解密的资料请关注其它相关文章!