在通过PDF文档格式传送类似于合同或公司机密等重要文件时,为其添加密码可以进一步保证文档的安全,避免内容泄露。 Free Spire.PDF for.NET 可以轻松实现PDF文档的加密和解
在通过PDF文档格式传送类似于合同或公司机密等重要文件时,为其添加密码可以进一步保证文档的安全,避免内容泄露。Free Spire.PDF for .NET 可以轻松实现PDF文档的加密和解密这两个功能。下面是详细操作步骤和相关代码。
安装
方法一,通过NuGet安装Free Spire.PDF for .NET:
依次选择工具>NuGet包管理器>程序包管理器控制台,然后执行以下命令:
PM> Install-Package FreeSpire.PDF
方法二,在程序中手动引入Spire.pdf.dll文件:
将Free Spire.PDF for .NET 下载到本地,解压并安装。安装完成后,打开 Visual Studio创建新项目,在右边的“解决方案资源管理器”中右键点击“引用”,再依次选择“添加引用”> “浏览”,找到安装路径下BIN文件夹中的dll文件,点击“确定”,将其添加引用至程序中。
如何为PDF文档加密
具体操作:
- 创建一个PdfDocument对象。
- 使用PdfDocument.LoadFromFile()方法加载示例 PDF 文件。
- 使用PdfDocument.Security属性获取文档的安全参数。
- 使用PdfSecurity.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize)方法为 PDF 文档设置开启密码和权限密码加密 PDF 文件。
- 使用PdfDocument.SaveToFile()方法保存结果文件。
相关代码:
C#:
using Spire.Pdf;
using Spire.Pdf.Security;
namespace EncryptPDF
{
class Program
{
static void Main(string[] args)
{
//创建一个PDF对象
PdfDocument pdf = new PdfDocument();
//加载示例PDF文档
pdf.LoadFromFile("原文档.pdf");
//使用密码加密PDF文件
pdf.Security.Encrypt("open", "permission", PdfPermissionsFlags.Print | PdfPermissionsFlags.CopyContent, PdfEncryptionKeySize.Key128Bit);
//保存结果文档
pdf.SaveToFile("加密.pdf", FileFormat.PDF);
}
}
}
VB.NET:
Imports Spire.Pdf
Imports Spire.Pdf.Security
Namespace EncryptPDF
Friend Class Program
Private Shared Sub Main(ByVal args As String())
'创建一个PDF对象
Dim pdf As PdfDocument = New PdfDocument()
'加载示例PDF文档
pdf.LoadFromFile("原文档.pdf")
'使用密码加密PDF文件
pdf.Security.Encrypt("open", "permission", PdfPermissionsFlags.Print Or PdfPermissionsFlags.CopyContent, PdfEncryptionKeySize.Key128Bit)
'保存结果文档
pdf.SaveToFile("加密.pdf", FileFormat.PDF)
End Sub
End Class
End Namespace
如何对加密后的PDF文档进行解密
具体操作:
- 创建一个PdfDocument对象。
- 使用PdfDocument.LoadFromFile (string filename, string password)方法加载加密 PDF 文件。
- 使用 PdfDocument.Security 属性获取文档的安全参数。
- 通过使用PdfSecurity.Encrypt(string openPassword, string permissionPassword, PdfPermissionsFlags permissions, PdfEncryptionKeySize keySize, string originalPermissionPassword)方法将开启密码和权限密码设置为空来解密 PDF 文件。
- 使用PdfDocument.SaveToFile() 方法保存结果文件。
相关代码:
C#:
using
Spire.Pdf;
using
Spire.Pdf.Security;
namespace
DecryptPDF
{
class Program
{
static void Main(string[] args)
{
//创建一个 PdfDocument 对象
PdfDocument pdf = new
PdfDocument();
//使用密码加载加密的PDF文件
pdf.LoadFromFile("加密.pdf", "open");
//将密码设置为空以解密PDF
pdf.Security.Encrypt(string.Empty,
string.Empty, PdfPermissionsFlags.Default, PdfEncryptionKeySize.Key128Bit,
"permission");
//保存结果文档
pdf.SaveToFile("解密.pdf", FileFormat.PDF);
}
}
}
VB.NET:
Imports
Spire.Pdf
Imports
Spire.Pdf.Security
Namespace
DecryptPDF
Friend Class Program
Private Shared Sub Main(ByVal args As
String())
'创建一个 PdfDocument 对象
Dim pdf As PdfDocument = New
PdfDocument()
'使用密码加载加密的PDF文件
pdf.LoadFromFile("加密.pdf", "open")
'将密码设置为空以解密PDF
pdf.Security.Encrypt(String.Empty,
String.Empty, PdfPermissionsFlags.[Default], PdfEncryptionKeySize.Key128Bit,
"permission")
'保存结果文档
pdf.SaveToFile("解密.pdf", FileFormat.PDF)
End Sub
End Class
End
Namespace