使用pdf.js显示注释/超链接

时间:2016-05-03 23:40:46

标签: javascript html5 html5-canvas pdf.js pdfjs

我设法使用mozilla的pdf.js显示示例PDF文件。在PDF文件的第一页上,有一个指向第2页的内部链接和一个指向google.com的外部链接。

我的下一步是让示例PDF中的链接正常工作(可点击),我正在努力解决这个问题。

目前我所能做的就是获取链接/注释并将它们打印到控制台。任何人都可以帮我渲染这些链接到注释div层吗?

我查看了pdf.js文档,但我找不到我想要的内容......我只是想将这个可点击链接功能添加到下面的简单代码中。

以下是我目前进展的代码笔:http://codepen.io/laurencemeah/pen/ONrJXj

var pdfFile = 'URL PATH TO PDF FILE';
var pageNum = 1;

PDFJS.getDocument(pdfFile).then(function(pdf) {

  pdf.getPage(pageNum).then(function(page) {
    var desiredWidth = document.getElementById('pdf-holder').getBoundingClientRect().width;
    var viewport = page.getViewport(1);
    var scale = desiredWidth / viewport.width;
    var scaledViewport = page.getViewport(scale);

    var canvas = document.getElementById('pdf-canvas');
    var context = canvas.getContext('2d');
    canvas.height = scaledViewport.height;
    canvas.width = scaledViewport.width;

    var renderContext = {
      canvasContext: context,
      viewport: scaledViewport
    };

    page.render(renderContext);

    page.getAnnotations().then(function(data) {
      console.log(data);
      // now display them in annotation layer div
    });

  });

});
#pdf-holder {
  width: 100%;
  height: auto;
<script src="http://mozilla.github.io/pdf.js/build/pdf.js"></script>

<div id="pdf-holder">
  <canvas id="pdf-canvas"></canvas>
  <div id="annotation-layer"></div>
</div>

0 个答案:

没有答案