📌  相关文章
📜  c# 检查 pdf 是否在没有密码的情况下受到保护 - C# (1)

📅  最后修改于: 2023-12-03 14:39:47.191000             🧑  作者: Mango

C# 检查 PDF 是否在没有密码的情况下受到保护

在开发应用程序时,我们经常需要检查 PDF 文件是否在没有密码的情况下受到保护。本文将介绍如何使用 C# 代码来实现这个功能。

加载 PDF 文件

我们首先需要加载 PDF 文件。可以使用 Adobe Acrobat、PDFium、iTextSharp 等第三方库。这里我们以 iTextSharp 为例。

using iTextSharp.text.pdf;

string filePath = "example.pdf";
PdfReader reader = new PdfReader(filePath);
检查是否受到保护

我们可以调用 reader.IsEncrypted() 方法来检查 PDF 是否受到保护。如果返回 true,则说明 PDF 受到保护。

if (reader.IsEncrypted())
{
    Console.WriteLine("PDF is password protected.");
}
else
{
    Console.WriteLine("PDF is not password protected.");
}
获取 PDF 加密信息

如果 PDF 受到保护,我们可以调用 reader.GetEncryptionInfo() 方法来获取 PDF 加密信息。

PdfEncryption encryption = reader.GetEncryptionInfo();

Console.WriteLine("Encryption algorithm: " + encryption.Algorithm);
Console.WriteLine("Encryption key length: " + encryption.KeyLength);
Console.WriteLine("Permissions: " + encryption.Permissions);
其他注意事项
  • 如果 PDF 不受保护,调用 reader.GetEncryptionInfo() 方法将抛出异常。
  • 部分 PDF 文件可能因为加密方式的不同,无法通过 iTextSharp 获取加密信息。

以上就是使用 C# 检查 PDF 是否在没有密码的情况下受到保护的方法。如果你有任何问题或建议,欢迎留言讨论。