为了账号安全,请及时绑定邮箱和手机立即绑定

C# 加密、解密PDF文档

标签:
C# .NET

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

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

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

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

https://img1.sycdn.imooc.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://img1.sycdn.imooc.com//5cee2583000173b705280156.jpg

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

https://img1.sycdn.imooc.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文档的详细代码操作可以参考视频教程

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
9
获赞与收藏
48

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消