C#教程

关注公众号 jb51net

关闭
首页 > 软件编程 > C#教程 > C# PDF加密与权限控制

C#实现PDF文件加密并设置权限操作

作者:咕白m625

在文档安全日益重要的今天,如何用 C# 对PDF文件进行加密并设置访问权限,已成为企业级开发中的常见需求,下面就跟随小编一起来了解下具体实现方法吧

在文档安全日益重要的今天,如何用 C# 对PDF文件进行加密并设置访问权限,已成为企业级开发中的常见需求。尤其在文档共享、审批流程或敏感资料管理中,C# 加密 PDF不仅关乎数据安全,更直接影响系统可信度。

本文将分享使用 Free Spire.PDF for .NET 实现PDF文件的加密与权限控制,提供可直接复用的代码示例与操作流程,帮助开发者高效、安全地完成PDF保护。

免费 .NET PDF 库

Free Spire.PDF for .NET是专为 .NET 开发者设计的轻量级工具,支持C#、VB.NET,免费无水印,但有页数限制,适合小型项目快速集成。

安装NuGet包:

Install-Package FreeSpire.PDF

核心功能:加密 + 权限设置

通过 Spire.PDF,我们可实现以下操作:

using Spire.Pdf;

namespace EncryptPDF
{
    class Program
    {
        static void Main(string[] args)
        {
            // 加载 PDF
            PdfDocument pdf = new PdfDocument();
            pdf.LoadFromFile("示例.pdf");

            // 指定用户密码和所有者密码
            string userPassword = "user123";
            string ownerPassword = "e-iceblue";

            PdfSecurityPolicy securityPolicy = new PdfPasswordSecurityPolicy(userPassword, ownerPassword);

            // 设置加密算法
            securityPolicy.EncryptionAlgorithm = PdfEncryptionAlgorithm.AES_256;

            // 设置文档权限
            securityPolicy.DocumentPrivilege = PdfDocumentPrivilege.AllowAll;
            securityPolicy.DocumentPrivilege.AllowPrint = false; // 禁止打印
            securityPolicy.DocumentPrivilege.AllowContentCopying = false; // 禁止复制

            // 加密 PDF 并保存
            pdf.Encrypt(securityPolicy);
            pdf.SaveToFile("加密PDF.pdf", FileFormat.PDF);
        }
    }
}

提示:用户密码用于打开PDF,所有者密码用于修改权限,两者可独立设置。

方法补充

C# 实现PDF加密保护

  using Spire.Pdf.Security;

try
{
    PdfDocument doc = new PdfDocument();
    doc.LoadFromFile("input.pdf");
    
    //⭕重点提示:商业版功能
    PdfSecurity security = doc.Security;
    security.KeySize = PdfEncryptionKeySize.Key128Bit; // 设置128位AES加密
    security.OwnerPassword = "admin@2024"; //权限密码
    security.UserPassword = "user123"; //打开密码
    
    //权限控制参数设置
    security.Permissions = PdfPermissionsFlags.Print 
                         | PdfPermissionsFlags.CopyContent;
    
    doc.SaveToFile("encrypted.pdf");
}
catch(NotSupportedException ex) 
{
    Console.WriteLine("加密功能需要商业版授权");
}

实际应用场景

在数字化办公中,C# 加密 PDF 文件不仅是一种技术手段,更是一种安全习惯。通过 Free Spire.PDF for .NET,我们能用简单代码实现高安全性保护。

到此这篇关于C#实现PDF文件加密并设置权限操作的文章就介绍到这了,更多相关C# PDF加密与权限控制内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文