C# 加密 PDF 文件并设置权限_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安装
代码简洁,学习成本低
安装NuGet包:
Install-Package Spire.Pdf
核心功能:加密 + 权限设置
通过 Spire.PDF,我们可实现以下操作:
- 设置用户密码(打开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 文件不仅是一种技术手段,更是一种安全习惯。通过 Free Spire.PDF for .NET,我们能用简单代码实现高安全性保护。