如何禁用PDF.js

时间:2015-06-25 14:59:34

标签: javascript hyperlink pdf.js

我正在研究PDF.js以便在网络应用中使用。到目前为止,它满足了我们所有的业务需求。但是,管理层要求我们能够禁用PDF中的超链接。我们不一定要摆脱蓝色文本和下划线,但如果用户点击超链接,它不应该去任何地方。

我仔细查看过哪些API,但找不到任何内容。我也查看了源代码,但没有任何内容跳出来作为我可以注释掉的内容以禁用超链接。有没有办法禁用PDF中包含的超链接?

1 个答案:

答案 0 :(得分:1)

经过大量的实验,我发现了如何通过修改源代码来做到这一点。有一段代码块以下列内容开头:

document.addEventListener('pagerendered', function (e) {

在关闭括号前的函数末尾,添加以下代码:

var allowInternalLinks = true;
var page = document.getElementById('pageContainer' + pageNumber);
var hyperlinks = page.getElementsByTagName('a');
for (var i=0; i<hyperlinks.length; i++){
  if (!allowInternalLinks || hyperlinks[i].className != 'internalLink'){
    hyperlinks[i].onclick = function(e) {
      e.preventDefault();
    }
   }
};

这样做是采取渲染页面,遍历该页面上的所有超链接,并禁用它们。我还添加了一个布尔变量,允许您选择允许或禁止内部链接(即将用户带到文档中其他位置的链接)。