继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

C# 加密、解密PDF文档

Eiceblue
关注TA
已关注
手记 107
粉丝 9
获赞 48

出于保护一些重要文档的目的,常通过加密文档来设置文档打开权限或者编辑、操作的权限。以下示例内容将分享通过C#编程来加密PDF文档的方法,此方法中通过同时设置文档打开口令和许可口令两种加密口令来保护文档。文档打开口令只能用于打开文档,而许可口令则是级别更高的口令,它既可以打开文档,也可以用来编辑和修改文档的权限。根据文档加密需要,也可任意选择以上两种口令中的一种来加密文档。

使用工具:Free Spire.PDF for .NET 5.4 (免费版)

获取方法1:通过官网获取

注:下载该库后并解压;在程序中添加引用程序集Spire.Pdf.dll文件(如下图)。同时在编辑代码时添加相应的using指令。

https://img4.mukewang.com/5cee24610001440c03590606.jpg

获取方法2:通过Nuget获取


C# 代码示例(供参考)

【示例1】加密PDF文档

using Spire.Pdf;
using Spire.Pdf.Security; 

namespace Encrypt_PDF
 {
    class Program
        {      
          static void Main(string[] args)    
             {            
             //创建PdfDocument类的对象,并加载测试文档            
             PdfDocument pdf = new PdfDocument();            
             pdf.LoadFromFile("test.pdf");             
             
             //设置打开文档的口令以及许可口令            
             pdf.Security.Encrypt("open", "permission", PdfPermissionsFlags.Print | PdfPermissionsFlags.CopyContent, PdfEncryptionKeySize.Key128Bit);             
             
             //保存加密后的文档            
             pdf.SaveToFile("Encrypted.pdf", FileFormat.PDF);            
                   
           } 
      }
}

运行程序后,生成的文档需输入密码打开文档或输入许可口令用于操作文档。

打开已加密文档时的窗口提示:

https://img3.mukewang.com/5cee2583000173b705280156.jpg

打开文档后可进一步查看文档其他权限:

https://img3.mukewang.com/5cee25fe000184ca10800673.jpg

【示例2】解密PDF文档

using Spire.Pdf;
using Spire.Pdf.Security; 
namespace DecryptPDF
{
    class Program
      {      
           static void Main(string[] args)      
            {            
            //使用密码加载一个加密的PDF文档            
            PdfDocument pdf = new PdfDocument();            
            pdf.LoadFromFile("Encrypted.pdf", "open");             
            
            //将打开口令和许可口令设置为空,同时设置文档权限,加密级别,输入原始许可口令            
            pdf.Security.Encrypt(string.Empty, string.Empty, PdfPermissionsFlags.Default, PdfEncryptionKeySize.Key128Bit, "permission");             
            
            //保存解密后的文档            
            pdf.SaveToFile("Decrypted.pdf");            
      
            }
       }
  }

运行程序生成的文档将不再有密码保护。

(本文完)

资料扩展:C# 加密、解密PDF文档的详细代码操作可以参考视频教程

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP