【问题标题】:PDFTron Decrypt PDF using password hard codedPDFTron 使用硬编码密码解密 PDF
【发布时间】:2017-01-16 10:04:21
【问题描述】:

我正在使用 PDFTron 创建 PDF 阅读器,并尝试打开已使用密码“test”加密的 PDF 文件。我正在努力做到这一点,这样用户就不必在密码对话框中自己输入密码,如下所示。相反,我想在代码本身中通过“测试”,然后让它打开文档。我正在以不同的方式处理查看器的安全性,因此在代码本身中传递密码不是问题。我已经在网上查看并尝试过如下所示,但它不起作用,它只是正常显示对话框。

Attempt

PDF Tron Password Dialog screen

谢谢

【问题讨论】:

    标签: pdf encryption pdftron


    【解决方案1】:

    要解决此问题,请遵循 Ryan 的回答。但是,如果您仍然遇到我这样做的问题,则如下:

    buttons: {
              'OK': {click: function() {
                 if (!finishedPassword) {
                      tryingPassword = true;
                      passwordCallback("PUT YOUR PASSWORD HERE");
                    }
                      $(this).dialog('close');
                    },
                      id: 'pass_ok_button',
                      text: 'OK'
                    },
              'Cancel': function() {
                      $(this).dialog('close');
                    }
             }
    

    转到 PDFReaderControl.js 并找到上面的代码(搜索 passwordCallback 或按钮,你会看到这段代码)。将passwordCallback的值改为你的密码,然后:

    ++(me.passwordTries);
    document.getElementById("pass_ok_button").click();
    

    查找行 ++(me.passwordTries);并在下一行粘贴与上面相同的 pass_ok_button 的单击功能。

    现在对话框应该不会出现,密码将由程序自动提供。

    【讨论】:

      【解决方案2】:

      您可以将以下代码添加到 config.js 以立即加载带有密码的 pdf 文档。

      $(document).on('viewerLoaded', function() {
        readerControl.getPassword = function(callback) {
          callback('enter password here');
        };
      });
      

      【讨论】:

      • 我最终在代码中传递了 PDFReaderControl.js 中的密码以处理来自 DocumentViewer 的密码请求,然后使用 document.getElementById("pass_ok_button").click();效果很好。这样做我认为对话框仍有可能出现,然后再次自动关闭,但该框没有出现,这正是我想要的:)
      • 我将把它标记为答案,尽管我的解决方法略有不同,原因是这是正确的,并且会按照我的要求去做。
      猜你喜欢
      • 2011-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-22
      • 2012-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多