let scrollBarInstance = new ScrollBar(leaferInstance as any, {
theme: 'light',
minSize: 24,
});
const renderPage = async () => {
if (!pdfDoc) return
if (!leaferInstance) return
const width = leaferInstance.tree.width ?? 0
let offsetY = 0
for (let pageNum = 1; pageNum <= pager.value.total; pageNum++) {
const page = await pdfDoc.getPage(pageNum)
const viewport = page.getViewport({
scale: pager.value.scale,
rotation: pager.value.rotation,
})
const x = (width - viewport.width) / 2
console.log(width, viewport.width, x)
const canvasNode = new Canvas({
x: x,
y: offsetY,
width: viewport.width,
height: viewport.height,
scale: pager.value.scale,
})
await page.render({
canvasContext: canvasNode.context as unknown as CanvasRenderingContext2D,
canvas: null,
viewport,
}).promise
canvasNode.paint()
leaferInstance.tree.add(canvasNode, pageNum)
offsetY += viewport.height + 16
page.cleanup()
}
// 渲染完成后使画布居中并更新滚动条
nextTick(() => {
// leaferInstance?.zoom('fit', 0, 'x')
scrollBarInstance?.update()
})
}
上面就是主要的代码,具体的可以点击查看
正常应该这样显示:
拖拽过程中就会出现:

上面就是主要的代码,具体的可以点击查看
正常应该这样显示:
拖拽过程中就会出现: