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

相关推荐
蝉蜕日记3 分钟前
AccumuPDF高级版 v2.57 | 视图文转换PDF,合并分割压缩
android·智能手机·pdf·生活·软件需求
huijingjituan34 分钟前
新一代IM聊天软件|构建企业专属智能通讯生态
安全·实时互动·即时通讯·极光鸟·灰鲸
其实防守也摸鱼1 小时前
补天SRC新手入门指南:从0到1的漏洞挖掘之路
网络·python·学习·安全·web安全·数据挖掘·挖洞
●VON1 小时前
鸿蒙 PC Markdown 编辑器内部隐私与安全评审
安全·华为·编辑器·harmonyos·鸿蒙
我不是QI2 小时前
一、主持人信息(域名 网站资产情报搜集)原理解析
安全·网络安全
txg6662 小时前
网络安全领域简报(2026年7月14日—20日)
安全·web安全
Am-Chestnuts3 小时前
AI长回答批量导出PDF与长图:多轮内容整理和免费Markdown备份
人工智能·pdf·aigc
huijingjituan4 小时前
三方聊天软件工具定制开发|打造企业级智能通讯平台
数据库·安全·阿里云·实时互动·腾讯云
zyplayer-doc4 小时前
研发接口文档怎么长期维护:zyplayer-doc把API、Markdown和变更记录放进同一个知识库
大数据·数据库·人工智能·笔记·pdf·ocr
不一样的故事1265 小时前
截止阀的作用
安全·需求分析