加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C#, VB.NET如何加密PDF文档

发布时间:2020-12-16 01:08:43 所属栏目:百科 来源:网络整理
导读:? 在日常工作中,人们通常通过加密PDF文档的方式来保护PDF文档。不管是公司还是个人,使用PDF加密术来设置一些权限是必不可少的。为了使PDF文档既可读又不能被未授权的用户所更改,一份PDF文档往往需要两个密码:所有者密码和用户密码。本文我将给大家分享如

?

在日常工作中,人们通常通过加密PDF文档的方式来保护PDF文档。不管是公司还是个人,使用PDF加密术来设置一些权限是必不可少的。为了使PDF文档既可读又不能被未授权的用户所更改,一份PDF文档往往需要两个密码:所有者密码和用户密码。本文我将给大家分享如何使用一个免费版PDF组件—Free Spire.PDF,以C#/VB.NET编程的方式来快速地加密PDF文档。

这个免费版的PDF组件是由E-iceblue公司开发的,它可以通过设置所有者密码和用户密码来加密PDF文档。所有者密码可以完全访问PDF文档,例如重置密码和权限;用户密码虽然可以允许用户打开对应的PDF文档,但也会受制于所有者设置的一些权限。

在加密方案中,命名空间Spire.PDFDocument.Security下的PDFSecurity类的实例对象用来设置所有者密码和用户密码。

如果您对该组件感兴趣,可以从官网下载,组件下载安装后,再加载您的PDF文档,然后就可以保护它了。

?

接下来我将介绍如何以C#/VB.NET编程的方式来加密PDF文档:

步骤1:新建一个PDF文档对象(因为我没有现有的PDF文档,所以就新建了一个)

[C#]

      PdfDocument doc = new PdfDocument();

?

步骤2:通过“Spire.Pdf.Security.PdfEncryptionKeySize”的枚举值来设置密钥长度。密钥长度有3种可用的类型:Key128Bit,Key256Bit?和 Key40Bit,您可以使用其中的任意一种。

[C#]

       doc.Security.KeySize = PdfEncryptionKeySize.Key256Bit;

?

步骤3:通过设置所有者密码和用户密码来加密PDF文档。注意:您所设置的密钥长度不能超过可用的密钥长度。

[C#]

       doc.Security.OwnerPassword = "e-iceblue";
       doc.Security.UserPassword = pdfcomponent;

 


步骤4:指定用户密码的访问权限。在此方案中,有9种可用的权限,请查看下图:

????????????????????????????????????

[C#]

       doc.Security.Permissions = PdfPermissionsFlags.Print | PdfPermissionsFlags.CopyContent;

?

步骤5:保存文档

[C#]

      doc.SaveToFile(result.pdf",FileFormat.PDF);


项目运行后,当你打开这个加密的PDF文档时就需要输入密码了。请看下面的效果截图:

?

???

?

C#完整代码:

using Spire.Pdf;
 Spire.Pdf.Security;
 System;
 System.Collections.Generic;
 System.Linq;
 System.Text;

namespace __encryption
{
    class Program
    {
        static void Main(string[] args)
        {
           PdfDocument doc = new PdfDocument();
           doc.Security.KeySize = PdfEncryptionKeySize.Key256Bit;
           doc.Security.OwnerPassword = ;
           doc.Security.UserPassword = ;
           doc.Security.Permissions = PdfPermissionsFlags.Print | PdfPermissionsFlags.CopyContent;
           doc.SaveToFile(,FileFormat.PDF);
        }
    }
}

?

VB.NET完整代码:

Imports Spire.Pdf
 Spire.Pdf.Security
 System.Collections.Generic
 System.Linq
 System.Text

Namespace __encryption
    Class Program
        Private Shared Sub Main(args As String())
            Dim doc New PdfDocument()
            doc.Security.KeySize = PdfEncryptionKeySize.Key256Bit
            doc.Security.OwnerPassword = 
            doc.Security.UserPassword = 
            doc.Security.Permissions = PdfPermissionsFlags.Print Or PdfPermissionsFlags.CopyContent
            doc.SaveToFile(End Sub
    End Class
End Namespace


希望这篇文章能给您带来一定的帮助。感谢您的浏览。

关于C# 加密、解密PDF的视频教程,可点击链接地址查看:

http://v.youku.com/v_show/id_XNDAyNzg3MTk5Ng==.html?spm=a2hzp.8244740.0.0

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读