PDF控件Spire.PDF for .NET【安全】演示:将加密或解密 PDF 文件

当涉及到在 Internet 上共享机密文档时,PDF 加密是一项至关重要的任务。通过使用强密码加密 PDF 文件,您可以保护文件数据免遭未经授权的人员访问。在某些情况下,可能还需要删除密码才能公开文档。在本文中,您将了解如何使用Spire.PDF for .NET以编程方式加密或解密 PDF 文件。

Spire.PDF for .NET 是一款独立 PDF 控件,用于 .NET 程序中创建、编辑和操作 PDF 文档。使用 Spire.PDF 类库,开发人员可以新建一个 PDF 文档或者对现有的 PDF 文档进行处理,且无需安装 Adobe Acrobat。

E-iceblue功能类库Spire 系列文档处理组件均由中国本土团队研发,不依赖第三方软件,不受其他国家的技术或法律法规限制,同时适配国产操作系统如中科方德、中标麒麟等,兼容国产文档处理软件 WPS(如 .wps/.et/.dps 等格式**(qun:767755948 )**

Spire.PDF for.net下载 Spire.PDF for java下载

安装适用于 .NET 的 Spire.PDF

首先,您需要将 Spire.PDF for .NET 包中包含的 DLL 文件添加为 .NET 项目中的引用。DLL 文件可以从此链接下载或通过NuGet安装。

复制代码
PM> Install-Package Spire.PDF
使用密码加密 PDF 文件

加密PDF文件有两种密码------打开密码权限密码。前者设置为打开 PDF 文件,而后者设置为限制打印、内容复制、注释等。如果 PDF 文件使用两种类型的密码保护,则可以使用任一密码打开它。

Spire.PDF for .NET 提供的PdfSecurity.Encrypt **(string openPassword, stringpermissionPassword, PdfPermissionsFlags Permissions, PdfEncryptionKeySize keySize)**方法允许您设置打开密码和权限密码来加密 PDF 文件。详细步骤如下。

  • 创建一个PdfDocument对象。
  • **使用PdfDocument.LoadFromFile()**方法加载示例 PDF 文件。
  • 使用PdfDocument.Security属性获取文档的安全参数。
  • **使用PdfSecurity.Encrypt(string openPassword, stringpermissionPassword, PdfPermissionsFlags Permissions, PdfEncryptionKeySize keySize)**方法使用打开密码和权限密码加密 PDF 文件。
  • **使用PdfDocument.SaveToFile()**方法保存结果文件。

【C#】

复制代码
using Spire.Pdf;
using Spire.Pdf.Security;

namespace EncryptPDF
{
class Program
{
static void Main(string[] args)
{
//Create a PdfDocument object
PdfDocument pdf = new PdfDocument();

//Load a sample PDF file
pdf.LoadFromFile(@"E:\Files\sample.pdf");

//Encrypt the PDF file with password
pdf.Security.Encrypt("open", "permission", PdfPermissionsFlags.Print | PdfPermissionsFlags.CopyContent, PdfEncryptionKeySize.Key128Bit);

//Save the result file
pdf.SaveToFile("Encrypt.pdf", FileFormat.PDF);
}
}
}

VB.NET

复制代码
mports Spire.Pdf
Imports Spire.Pdf.Security

Namespace EncryptPDF
Class Program
Private Shared Sub Main(ByVal args As String())

'Create a PdfDocument object
Dim pdf As PdfDocument = New PdfDocument()

'Load a sample PDF file
pdf.LoadFromFile("E:\Files\sample.pdf")

'Encrypt the PDF file with password
pdf.Security.Encrypt("open", "permission", PdfPermissionsFlags.Print Or PdfPermissionsFlags.CopyContent, PdfEncryptionKeySize.Key128Bit)

'Save the result file
pdf.SaveToFile("Encrypt.pdf", FileFormat.PDF)
End Sub
End Class
End Namespace
删除密码以解密 PDF 文件

当您需要删除PDF文件的密码时,可以在调用**PdfSecurity.Encrypt(string openPassword, stringpermissionPassword, PdfPermissionsFlagspermissions, PdfEncryptionKeySize keySize, stringoriginalPermissionPassword)**方法时将打开密码和权限密码设置为空。详细步骤如下。

  • 创建一个PdfDocument对象。
  • **使用PdfDocument.LoadFromFile(字符串文件名,字符串密码)**方法加载带密码的加密 PDF 文件。
  • 使用PdfDocument.Security属性获取文档的安全参数。
  • **通过使用PdfSecurity.Encrypt(string openPassword, stringpermissionPassword, PdfPermissionsFlagspermissions, PdfEncryptionKeySize keySize, stringoriginalPermissionPassword)**方法将打开密码和权限密码设置为空来解密 PDF 文件。
  • **使用PdfDocument.SaveToFile()**方法保存结果文件。

【C#】

复制代码
using Spire.Pdf;
using Spire.Pdf.Security;

namespace DecryptPDF
{
class Program
{
static void Main(string[] args)
{
//Create a PdfDocument object
PdfDocument pdf = new PdfDocument();

//Load the encrypted PDF file with password
pdf.LoadFromFile("Encrypt.pdf", "open");

//Set the password as empty to decrypt PDF
pdf.Security.Encrypt(string.Empty, string.Empty, PdfPermissionsFlags.Default, PdfEncryptionKeySize.Key128Bit, "permission");

//Save the result file
pdf.SaveToFile("Decrypt.pdf", FileFormat.PDF);
}
}
}

VB.NET

复制代码
Imports Spire.Pdf
Imports Spire.Pdf.Security

Namespace DecryptPDF
Class Program
Private Shared Sub Main(ByVal args As String())

'Create a PdfDocument object
Dim pdf As PdfDocument = New PdfDocument()

'Load the encrypted PDF file with password
pdf.LoadFromFile("Encrypt.pdf", "open")

'Set the password as empty to decrypt PDF
pdf.Security.Encrypt(String.Empty, String.Empty, PdfPermissionsFlags.[Default], PdfEncryptionKeySize.Key128Bit, "permission")

'Save the result file
pdf.SaveToFile("Decrypt.pdf", FileFormat.PDF)
End Sub
End Class
End Namespace

以上便是如何将加密或解密 PDF 文件,如果您有其他问题也可以继续浏览本系列文章,获取相关教程,~

相关推荐
小蒋观天下2 小时前
社区AI智能摄像头完整选型指南
大数据·人工智能·安全·计算机视觉·语音识别·ai大模型
、如果2 小时前
PDF图片文字提取零依赖方案:pymupdf+AI视觉实战
人工智能·数据分析·pdf·图片提取·文字提取·skills
Amy187021118235 小时前
数据中心电气接点测温:从“被动抢修”到“主动预警”的安全革命
人工智能·安全
jimmyleeee5 小时前
GEN AI安全:威胁全景---从训练到运行的攻防实战
人工智能·安全
SamChan905 小时前
PDF翻译后的格式完整性校验:用Python自动比对译文与原文档的表格与段落结构
开发语言·python·ai·pdf·机器翻译
DolphinScheduler社区5 小时前
Apache DolphinScheduler 8 月报:权限安全加固,调度补火上线,性能与稳定性持续提升
大数据·安全·开源·apache·任务调度·海豚调度
web打印社区6 小时前
浏览器静默打印?先别装第三个库了
前端·vue.js·chrome·electron·pdf
竣达技术6 小时前
UPS 供电风险保护方案网络远程控制:免代理 SSH/Telnet UPS 安全关机方案
网络·安全·ssh
慧都小项6 小时前
看得见页面,却看不全风险:Burp Suite如何补齐API安全盲区
安全
张人玉7 小时前
基于 C# / .NET 8 + Windows Forms + SQLite 的桌面银行业务演示系统——华夏示范银行管理系统
windows·sqlite·c#·.net