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

相关推荐
猎嘤一号11 小时前
博弈论(Game Theory)的理论、算法与工程
人工智能·算法·安全·博弈论
观远数据13 小时前
当ChatBI遇上数据合规:AI+BI规模化落地的安全边界如何划定
大数据·人工智能·安全
YYJ-F14 小时前
Anthropic——AI安全人工智能研究公司,核心产品Claude Code辅助编程
人工智能·安全
山东科恩光电14 小时前
安全触边系统在工业设备运行中的安全保障与应用分析
安全
迪康Defender15 小时前
终端邮件安全全覆盖:规则、关键词、附件白名单配置大全
大数据·人工智能·安全
笨鸟先飞,勤能补拙16 小时前
网络安全等级保护 2.0:从定级备案、建设整改到持续合规的系统指南
网络·人工智能·windows·安全·web安全·网络安全·github
慧都小妮子17 小时前
PDF图片提取总“褪色“?Aspose.PDF 多层级提取能力详解
pdf·c#·.net·图片处理·文档处理·色彩空间
acrel719 小时前
算力机房供电不间断,智能电力运维保驾护航
运维·安全·机房电力运维·机房配电·列头柜监测
AI风控技术指南19 小时前
以数美科技为例,看大模型安全围栏如何选型?
科技·安全
SamChan9019 小时前
PDF翻译中的并发控制:用Semaphore防止API限流与资源耗尽
java·jvm·pdf