onEndPage监听pdf页数跟总页数
时间: 2023-07-07 10:35:12 浏览: 42
您可以使用pdf.js库来实现这个功能。具体步骤如下:
1. 在HTML文档中引入pdf.js和pdf.worker.js文件。
```html
<script src="path/to/pdf.js"></script>
<script src="path/to/pdf.worker.js"></script>
```
2. 创建一个canvas元素来显示PDF页面。
```html
<canvas id="pdf-canvas"></canvas>
```
3. 编写JavaScript代码来加载PDF文件并监听onEndPage事件。
```javascript
// 获取canvas元素
var canvas = document.getElementById('pdf-canvas');
// 加载PDF文件
PDFJS.getDocument('path/to/your/pdf').then(function(pdf) {
// 获取PDF文件总页数
var pageCount = pdf.numPages;
// 展示第一页
pdf.getPage(1).then(function(page) {
var viewport = page.getViewport(1.0);
canvas.height = viewport.height;
canvas.width = viewport.width;
// 渲染第一页
var context = canvas.getContext('2d');
page.render({canvasContext: context, viewport: viewport});
});
// 监听onEndPage事件
pdf.getPage(1).then(function(page) {
page.getTextContent().then(function(textContent) {
var pageText = textContent.items.map(function(item) {
return item.str;
}).join('');
// 获取页数
var currentPage = parseInt(pageText.match(/Page\s\d+\sof\s\d+/)[0].split(' ')[1]);
// 监听onEndPage事件
page.onEndPage = function() {
currentPage++;
console.log('当前页数:' + currentPage);
};
});
});
});
```
这段代码会加载一个PDF文件,并在canvas元素中展示第一页。然后,它会监听onEndPage事件,并在每次翻页时打印当前页数。