C#实战:基于iTextSharp实现PDF加密小工具

2025-08-27 14:03:37 2点赞 0收藏 0评论
图片图片

大家日常办公中有时候为了文档资料的安全需要对文档进行加密,尤其是针对PDF文档这个场景还是非常广泛的。今天给大家分享使用C#来实现PDF文档加密功能。并且功能基于Winform窗体程序可以直接运行,感兴趣的朋友可以体验一下!

1、技术框架

开发工具:VS2019

框架:C#+iTextSharp+WinForm

iTextSharp 是 .NET 平台上的开源 PDF 处理库,支持文档创建、文本/图像添加、表单处理、密码保护、水印添加等功能。

2、代码实战

首先打开Visual Studio 2019 创建一个WinForm窗体程序项目。然后引入第三方iTextSharp类库版本5.5.10。这里直接使用nuget包直接安装。

图片图片

2.1 创建窗体

界面主要有选择pdf文档按钮、pdf文档路径和pdf密码输入框以及PDF加密按钮。界面效果如下:

图片图片

2.2 后台代码逻辑

加密pdf文档逻辑代码如下:

/// /// 加密pdf文档 /// /// 输入目录 /// 输出目录 /// 用户密码 /// 所有者密码 private void EncryptPdf(string inputPath, string outputPath, string userPassword, string ownerPassword) { using (FileStream input = new FileStream(inputPath, FileMode.Open, FileAccess.Read)) using (FileStream output = new FileStream(outputPath, FileMode.Create)) { PdfReader reader = new PdfReader(input); PdfStamper stamper = new PdfStamper(reader, output); // 设置加密参数 int permissions = PdfWriter.AllowPrinting | PdfWriter.AllowCopy | PdfWriter.AllowScreenReaders | PdfWriter.AllowModifyAnnotations; // 加密文档 (128位加密) stamper.SetEncryption( Encoding.UTF8.GetBytes(txtUserPassword.Text), Encoding.UTF8.GetBytes(txtOwnerPassowrd.Text), permissions, PdfWriter.ENCRYPTION_AES_128 ); stamper.Close(); reader.Close(); } }

项目完整结构如下:

图片图片

2.3 PDF加密用户类型

PDF加密用户类型分为userPassword和ownerPassword是两种不同权限的密码,主要区别如下:

用户密码(userPassword):用于限制文档的打开权限,用户输入该密码后只能进行只读操作(如查看内容),无法修改、打印或复制文档内容。

所有者密码(ownerPassword):用于获取完全控制权,通常用于文档的管理员或创建者,确保能自由编辑文档。

2.4  PDF加密权限列表

C#实战:基于iTextSharp实现PDF加密小工具

3、运行效果

运行主界面

图片图片

选择PDF文档

图片图片

输入用户密码和所有者密码信息

图片图片

点击加密按钮,最终输出加密成功就可以了。

图片图片

尝试打开PDF文档,效果如下:

图片图片

输入密码就可以正常打开PDF文档了。

图片图片

4、总结

以上是C#实现PDF文档加密功能的实战内容,功能比较简单。大家如果有问题的话可以评论区沟通交流!

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
0
扫一下,分享更方便,购买更轻松