如何使用C#更改 PDF 文档的安全权限

当你使用密码保护 PDF 文档时,可以选择指定一组权限。这些权限用于决定用户可以如何与文件交互。例如,你可以为文档设置权限,禁止用户打印或执行剪切和粘贴操作。本文将演示如何使用 Spire.PDF for .NET 在 C# 和 VB.NET 中更改 PDF 文档的安全权限。

安装 Spire.PDF for .NET

首先,你需要将 Spire.PDF for .NET 包中包含的 DLL 文件添加到你的 .NET 项目引用中。你可以通过以下链接下载这些 DLL 文件,或者通过 NuGet 进行安装。

cs 复制代码
PM> Install-Package Spire.PDF

更改 PDF 文档的安全权限

以下是在 Spire.PDF for .NET 中为 PDF 文档应用安全权限的步骤:

  1. 创建一个 PdfDocument 对象。

  2. 使用 PdfDocument.LoadFromFile() 方法加载一个示例 PDF 文件。

  3. 指定打开密码和权限密码。可以将打开密码设置为空,这样生成的文档在打开时不需要密码。

  4. 使用 PdfDocument.Security.Encrypt() 方法,通过打开密码和权限密码对文档进行加密,并设置安全权限。该方法接受 PdfPermissionsFlags 枚举作为参数,该枚举定义了加密文档的用户访问权限。

  5. 使用 PdfDocument.SaveToFile() 方法将文档保存为另一个 PDF 文件。

具体示例代码如下:

cs 复制代码
using Spire.Pdf;
using Spire.Pdf.Security;

namespace ChangeSecurityPermission
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建 PdfDocument 对象
            PdfDocument doc = new PdfDocument();

            //加载示例 PDF 文件
            doc.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.pdf");

            //指定打开密码
            string openPsd = string.Empty;

            //指定权限密码
            string permissionPsd = "e-iceblue";

            //使用打开密码和权限密码加密文档,并设置权限和加密密钥大小
            doc.Security.Encrypt(openPsd, permissionPsd, PdfPermissionsFlags.FullQualityPrint, PdfEncryptionKeySize.Key128Bit);

            //将文档保存为另一个 PDF 文件
            doc.SaveToFile("SecurityPermissions.pdf");
        }
    }
}

效果如图所示:

申请临时许可证

如果你想去除生成文档中的评估信息,或解除功能限制,可以联系官方销售申请一个 30 天的试用许可证。

相关推荐
黎阳之光6 小时前
黎阳之光:视频孪生领跑者,铸就中国数字科技全球竞争力
大数据·人工智能·算法·安全·数字孪生
上海云盾-高防顾问6 小时前
网络安全防护发展趋势:从被动防御到主动赋能
安全·web安全
CCTI_Curran6 小时前
UL4200A是美国针对纽扣电池安全标准
安全·纽扣电池·ul4200a·纽扣电池gcc认证·美国亚马逊
做个文艺程序员6 小时前
MySQL安全加固十大硬核操作
数据库·mysql·安全
是罐装可乐6 小时前
深入理解“句柄(Handle)“:从浏览器安全到文件系统访问
前端·javascript·安全
Figo_Cheung7 小时前
Figo义商本体约束推理引擎 (CRE):基于已部署CRE本地模型的技术实践研究——迈向AGI时代的AI伦理安全框架
人工智能·安全
私人珍藏库7 小时前
【Windows】PDF超能助手(1.0.13)
windows·pdf·工具·软件·多功能
信创DevOps先锋8 小时前
DevOps工具链选型新趋势:本土化适配与安全可控成企业核心诉求
运维·安全·devops
ayt0078 小时前
Netty AbstractNioChannel源码深度剖析:NIO Channel的抽象实现
java·数据库·网络协议·安全·nio
其实秋天的枫10 小时前
2026年新大纲普通话考试真题题库50套(PDF电子版)
经验分享·pdf