如何跳转到呈现的pdf页面
how to jump to page of rendered pdf
我将 pdfobject 与 forcePDFJS 一起使用,后者使用 pdfjs viewer.js 来呈现 pdf。一旦它们被呈现,我需要能够跳转到页面而无需重新加载文档。文档可能非常大
我看到一些关于使用 PDFApplicationViewer.pdfview.currentPageNumber 的提及。但我还没有看到如何正确使用它的好例子
我看过两个使用 PDFApplicationViewer 的例子
1. PDFApplicationViewer.pdfview.currentPageNumber = pagNum;
2. document.getElementById('mycanvas').contentWindow.PDFApplicationViewer.pdfview.currentPageNumber = pagNum;
虽然第二个更有意义我不确定元素的 contentWindow 对象来自哪里。我假设 pdfobject 嵌入了一些我也可以访问但我无法弄清楚的东西..
另外,因为我真的找不到很多关于这个的东西..这有可能吗..
出于时间限制的原因,我不想使用 pdfjs 组合一个新的查看器。我喜欢 viewer.html 附带的内容。我只需要在不重新加载的情况下跳转页面
PDFObject.embed 没有 return 任何参考所以我查看了 pdfObject 代码以查看它是如何嵌入 pdf 的..
为此,需要一个 iframe 才能正常工作。因此,当使用 pdfobject 渲染时,我使用如下配置:
通知forcePDFJS=true
if(!pageNum)
pageNum=1;
var options = {
pdfOpenParams: {
view: "FitV",
page: pageNum
},
forcePDFJS: true,
PDFJS_URL: "../pdfjs/web/viewer.html"
};
这是有效的代码
var pdfviewer = document.getElementById('pdfviewer');//get the viewer element
var contenttag = pdfviewer.getElementsByTagName("iframe")[0]//got this from pdfobject code
contenttag.contentWindow.PDFViewerApplication.pdfViewer.currentPageNumber = parseInt(pageNum);//change the page
就我而言,pdfviewer
ID 不再可用。
PDFObject
执行 return 它创建的 iframe
的引用。我使用的是基本 HTML + JS,所以我必须保存对全局 window
对象的引用,以便能够从项目中的任何地方访问它。
最后,根据我们的参考,我们可以如下访问 PDFViewerApplication
对象并操作 PDF:
我将 pdfobject 与 forcePDFJS 一起使用,后者使用 pdfjs viewer.js 来呈现 pdf。一旦它们被呈现,我需要能够跳转到页面而无需重新加载文档。文档可能非常大
我看到一些关于使用 PDFApplicationViewer.pdfview.currentPageNumber 的提及。但我还没有看到如何正确使用它的好例子
我看过两个使用 PDFApplicationViewer 的例子 1. PDFApplicationViewer.pdfview.currentPageNumber = pagNum; 2. document.getElementById('mycanvas').contentWindow.PDFApplicationViewer.pdfview.currentPageNumber = pagNum;
虽然第二个更有意义我不确定元素的 contentWindow 对象来自哪里。我假设 pdfobject 嵌入了一些我也可以访问但我无法弄清楚的东西..
另外,因为我真的找不到很多关于这个的东西..这有可能吗..
出于时间限制的原因,我不想使用 pdfjs 组合一个新的查看器。我喜欢 viewer.html 附带的内容。我只需要在不重新加载的情况下跳转页面
PDFObject.embed 没有 return 任何参考所以我查看了 pdfObject 代码以查看它是如何嵌入 pdf 的..
为此,需要一个 iframe 才能正常工作。因此,当使用 pdfobject 渲染时,我使用如下配置:
通知forcePDFJS=true
if(!pageNum)
pageNum=1;
var options = {
pdfOpenParams: {
view: "FitV",
page: pageNum
},
forcePDFJS: true,
PDFJS_URL: "../pdfjs/web/viewer.html"
};
这是有效的代码
var pdfviewer = document.getElementById('pdfviewer');//get the viewer element
var contenttag = pdfviewer.getElementsByTagName("iframe")[0]//got this from pdfobject code
contenttag.contentWindow.PDFViewerApplication.pdfViewer.currentPageNumber = parseInt(pageNum);//change the page
就我而言,pdfviewer
ID 不再可用。
PDFObject
执行 return 它创建的 iframe
的引用。我使用的是基本 HTML + JS,所以我必须保存对全局 window
对象的引用,以便能够从项目中的任何地方访问它。
最后,根据我们的参考,我们可以如下访问 PDFViewerApplication
对象并操作 PDF: