如何使用 MuPDF 打开密码保护的 PDF

How to open password protected PDF using MuPDF

我想使用 MuPDF 打开密码保护的 PDF 文件,但我不知道 MuPDF 是否提供任何方便的方法来这样做。我正在显示如下简单的 PDF,它工作正常:

File file = [PATH TO THE FILE];

if (file.exists()) {
    Intent intent = new Intent(MainActivity.this, MuPDFActivity.class);
    intent.setAction(Intent.ACTION_VIEW);
    intent.setData(Uri.fromFile(file));
    startActivity(intent);
} 

我试图在 Google 上搜索它,但找不到任何相关信息。

我通过自定义 MuPDFActivity.java class 来做到这一点。

在阅读 onCreate 方法中的代码时,我开始知道它具有检查是否需要密码的条件:

if (core != null && core.needsPassword()) {

然后显示带有 EditText 的对话框以输入密码。然后通过函数验证密码。

core.authenticatePassword(mPassword)

我将文件的密码作为 String extra 发送到 MuPDFActivity class 并删除将其直接传递给函数。

if (core != null && core.needsPassword()) {
   if (core.authenticatePassword(mPassword)) {
      createUI(savedInstanceState);
   } else {
      requestPassword(savedInstanceState);
   }
   return;
}

如果有人需要帮助,可以向我索要完整代码。

谢谢。

要使用 mupdf 打开受密码保护的 pdf,您需要像这样通过终端提供密码:

mudpf -p DOCUMENT_PASSWORD filename.pdf