<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>PDF 多页查看</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.16.105/pdf.min.js"></script>
</head>
<body>
<div>
<button id="prevPage" type="button">上一页</button>
<button id="nextPage" type="button">下一页</button>
<span>当前页:<span id="currentPage">1</span> / <span id="totalPages">?</span></span>
</div>
<canvas id="pdfCanvas"></canvas>
<script>
$(document).ready(function() {
var pdfUrl = "example.pdf";
var pdfDoc = null;
var pageNum = 1;
var scale = 1.5;
function renderPage(num) {
pdfDoc.getPage(num).then(function(page) {
var viewport = page.getViewport({ scale: scale });
var canvas = $("#pdfCanvas")[0];
var context = canvas.getContext("2d");
canvas.width = viewport.width;
canvas.height = viewport.height;
var renderContext = {
canvasContext: context,
viewport: viewport
};
page.render(renderContext);
$("#currentPage").text(num);
});
}
pdfjsLib.getDocument(pdfUrl).promise.then(function(pdf) {
pdfDoc = pdf;
$("#totalPages").text(pdf.numPages);
renderPage(pageNum);
});
$("#prevPage").click(function(event) {
event.preventDefault();
if (pageNum > 1) {
pageNum--;
renderPage(pageNum);
}
});
$("#nextPage").click(function(event) {
event.preventDefault();
if (pageNum < pdfDoc.numPages) {
pageNum++;
renderPage(pageNum);
}
});
});
</script>
</body>
</html>