PDFTron 使用硬编码密码解密 PDF
Posted
技术标签:
【中文标题】PDFTron 使用硬编码密码解密 PDF【英文标题】:PDFTron Decrypt PDF using password hard coded 【发布时间】:2017-01-16 10:04:21 【问题描述】:我正在使用 PDFTron 创建 PDF 阅读器,并尝试打开已使用密码“test”加密的 PDF 文件。我正在努力做到这一点,这样用户就不必在密码对话框中自己输入密码,如下所示。相反,我想在代码本身中通过“测试”,然后让它打开文档。我正在以不同的方式处理查看器的安全性,因此在代码本身中传递密码不是问题。我已经在网上查看并尝试过如下所示,但它不起作用,它只是正常显示对话框。
Attempt
PDF Tron Password Dialog screen
谢谢
【问题讨论】:
【参考方案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();效果很好。这样做我认为对话框仍有可能出现,然后再次自动关闭,但该框没有出现,这正是我想要的:) 我将把它标记为答案,尽管我的解决方法略有不同,原因是这是正确的,并且会按照我的要求去做。以上是关于PDFTron 使用硬编码密码解密 PDF的主要内容,如果未能解决你的问题,请参考以下文章