如何检查 PDF 是否受密码保护

我正在尝试使用 iText 的 PdfReader 检查给定的 PDF 文件是否受密码保护,但出现此异常:

I am trying to use iText's PdfReader to check if a given PDF file is password protected or not, but am getting this exception:

线程主线程"中的异常 java.lang.NoClassDefFoundError:org/bouncycastle/asn1/ASN1OctetString

Exception in thread "Main Thread" java.lang.NoClassDefFoundError:org/bouncycastle/asn1/ASN1OctetString

但是当针对非密码保护的文件测试相同的代码时,它运行良好.完整代码如下:

But when testing the same code against a non-password protected file it runs fine. Here is the complete code:

try {
    PdfReader pdf = new PdfReader("C:\abc.pdf");
} catch (IOException e) {
    e.printStackTrace();
}

推荐答案

使用 Apache PDFBox - 这里的 Java PDF 库:
示例代码:

Use Apache PDFBox - Java PDF Library from here:
Sample Code:

try
{
    document = PDDocument.load( "C:\abc.pdf");

    if(document.isEncrypted())
    {
      //Then the pdf file is encrypeted.
    }
}

相关文章