如何使用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 天的试用许可证。

相关推荐
鬼手点金19 分钟前
提示注入:上下文安全的核心威胁
人工智能·安全·microsoft·机器学习·缓存·prompt
ScilogyHunter1 小时前
Hercules系列安全MCU功能安全原理详解
java·单片机·安全·hercules
Data-Miner1 小时前
不本地部署,大模型怎么安全用?
大数据·人工智能·安全
李纲明2 小时前
WordPress 媒体库上传失败或一直转圈:先核 PHP 上传限制与目录权限,再查安全插件与对象存储
运维·开发语言·安全·php·wordpress·媒体库·devdiy
Ruiery11 小时前
Linux 6.6内核内存管理深度解析(十八):KASLR 内核地址空间随机化
linux·运维·服务器·安全
mennekes13 小时前
临时用电线路标识:插头颜色、钟面标识配套规范
运维·网络·科技·安全·制造
xiaolinudao12315 小时前
给pdf文件盖骑缝章的软件有哪些
pdf
是真的小外套17 小时前
网络安全实战第7期:Hydra爆破SSH实战
安全·web安全·ssh
jimmyleeee18 小时前
Agent安全之七:当智能体之间开始“互相信任”------深入理解 OWASP ASI07 不安全的智能体间通信
人工智能·安全
卓豪终端管理18 小时前
终端零信任落地实践:应用控制与权限管理的五层管控体系
安全·web安全