使用JavaScript在PDF.js中跳转到页面

8
我想使用PDF.js的查看器在网页上显示pdf文件。我已经让一切正常运行,但我希望能够在pdf中“跳转”到特定页面。我知道你可以通过URL设置页面,但如果可能的话,我想在JavaScript中实现这一点。我注意到全局范围内有一个PDFJS对象,似乎应该能够在那里访问诸如页面设置之类的东西,但它是一个相当庞大的对象。有人知道如何做到这一点吗?
3个回答

12

你可以使用 JavaScript 设置页面:

var desiredPage = [the page you want];
PDFViewerApplication.page = desiredPage;

此处有一个事件处理程序,UI将相应地进行调整。您可能希望确保它不超出界限:

function goToPage(desiredPage){
    var numPages = PDFViewerApplication.pagesCount;
    if((desiredPage > numPages) || (desiredPage < 1)){
        return;
    }
    PDFViewerApplication.page = desiredPage;
}

1
我该如何访问/初始化PDFViewerApplication? - Vinay
它是pdf.js中的一个变量。看起来他们正在努力完善文档,但你可以查看代码:https://mozilla.github.io/pdf.js/web/viewer.js - Geoff Lentsch
有没有任何事件可以用来在用户导航到另一个页面时收到通知? - vmasanas

3
如果将PDF显示在iframe中,并且您想要导航到页面,则使用以下代码。'docIfram'是iframe标签的ID。
document.getElementById("docIframe").contentWindow.PDFViewerApplication.page=2

2
在我的情况下,我是在iframe中加载pdf文件,所以我必须采用另一种方式来处理。
function goToPage(desiredPage){
var frame_1 = window.frames["iframe-name"];
var frameObject = document.getElementById("iframe-id").contentWindow;
frameObject.PDFViewerApplication.page = desired page;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接