2017-01-16 495 views
1

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

Attempt

PDF Tron Password Dialog screen

感谢

回答

0

您可以添加以下代码config.js加载PDF文档用密码瞬间。

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

我结束了在PDFReaderControl.js传递代码来处理来自的DocumentViewer密码请求的密码,然后使用的document.getElementById(“pass_ok_button”)点击()。运行良好。这样做,这样我想有对话框仍然出现,然后自动再次关闭,但将不会出现,这正是我想要的机会:) –

+0

我要纪念这个作为答案虽然我没有决心它的理由略有不同,因为这是正确的,并会按照我的要求去做。 –

1

要解决这个问题,请按照瑞恩的答案。不过,如果你仍然有问题,我做的方式是以下几点:

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的click函数,与上面相同。

而且现在的对话框不应出现,密码会自动由程序来提供。