我创建了这个演示:
http://polishwords.com.pl/dev/pdfjs/test.html http://polishwords.com.pl/dev/pdfjs/test.html
它显示一页。我想显示所有页面。一个在另一个下,或者放置一些按钮来更改页面,甚至更好地加载 PDF.JS 的所有标准控件,就像在 Firefox 中一样。如何完成这个?
PDFJS有一个成员变量numPages
,所以你只需迭代它们。BUT重要的是要记住,在 pdf.js 中获取页面是异步的,因此无法保证顺序。所以你需要将它们链接起来。你可以按照这些思路做一些事情:
var currPage = 1; //Pages are 1-based not 0-based
var numPages = 0;
var thePDF = null;
//This is where you start
PDFJS.getDocument(url).then(function(pdf) {
//Set PDFJS global object (so we can easily access in our page functions
thePDF = pdf;
//How many pages it has
numPages = pdf.numPages;
//Start with first page
pdf.getPage( 1 ).then( handlePages );
});
function handlePages(page)
{
//This gives us the page's dimensions at full scale
var viewport = page.getViewport( 1 );
//We'll create a canvas for each page to draw it on
var canvas = document.createElement( "canvas" );
canvas.style.display = "block";
var context = canvas.getContext('2d');
canvas.height = viewport.height;
canvas.width = viewport.width;
//Draw it on the canvas
page.render({canvasContext: context, viewport: viewport});
//Add it to the web page
document.body.appendChild( canvas );
//Move to next page
currPage++;
if ( thePDF !== null && currPage <= numPages )
{
thePDF.getPage( currPage ).then( handlePages );
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)