pdf.js滚动翻页的例子

devtools/2024/9/29 9:46:24/

可以使用 pdf.js 创建一个简单的滚动翻页效果。以下是一个基本示例,展示如何实现:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>PDF.js Scroll Example</title><script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.11.338/pdf.min.js"></script><style>#canvasContainer {overflow-y: auto;height: 100vh;}canvas {display: block;margin: 20px auto;}</style>
</head>
<body><div id="canvasContainer"></div><script>const url = 'path/to/your.pdf'; // 替换为你的PDF文件路径const canvasContainer = document.getElementById('canvasContainer');const loadingTask = pdfjsLib.getDocument(url);loadingTask.promise.then(pdf => {const renderPage = (num) => {pdf.getPage(num).then(page => {const viewport = page.getViewport({ scale: 1 });const canvas = document.createElement('canvas');const context = canvas.getContext('2d');canvas.height = viewport.height;canvas.width = viewport.width;const renderContext = {canvasContext: context,viewport: viewport,};page.render(renderContext).promise.then(() => {canvasContainer.appendChild(canvas);});});};for (let i = 1; i <= pdf.numPages; i++) {renderPage(i);}}).catch(console.error);</script>
</body>
</html>

说明:

  1. 替换路径:将 path/to/your.pdf 替换为你的PDF文件路径。
  2. 样式canvasContainer 使用 overflow-y: auto; 以实现垂直滚动。
  3. 渲染页面:通过循环加载和渲染所有页面。

这样,当你向下滚动时,所有页面都将加载并展示。


http://www.ppmy.cn/devtools/118630.html

相关文章

【QT 开发日志】QT 基础控件详解:按钮、文本框与标签的使用

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 博主简介 博主致力于嵌入式、Python、人工智能、C/C领域和各种前沿技术的优质博客分享&#xff0c;用最优质的内容带来最舒适的…

JDK1.8安装配置教程(图文结合,最简洁易懂)

分为两大步骤&#xff1a;安装JDK、配置环境变量 (环境变量是什么&#xff1f;) 一、安装JDK 1、双击运行安装程序 2、点击【下一步】 3.点击【公共JRE】&#xff0c;选择【此功能将不可用】&#xff0c;点击【下一步】 4.安装完成&#xff0c;点击【关闭】 二、配置…

【SQL】累计统计方法,使用SQL详细写出

一、累计统计方法 累计统计通常指的是在一组数据中&#xff0c;计算每个数据点的累积总和或者累积其他统计量。在SQL中&#xff0c;这通常可以通过使用窗口函数&#xff08;如 SUM() OVER()&#xff09;来实现。以下是一些常见的累计统计方法的例子&#xff1a; 累计求和 假…

借助spring的IOC能力消除条件判断

shigen坚持更新文章的博客写手&#xff0c;记录成长&#xff0c;分享认知&#xff0c;留住感动。个人IP&#xff1a;shigen 在前边讲到了如何借助HashMap、枚举类、switch-case消除条件判断&#xff0c;这里讲到我们最常见的用spring的IOC能力来消除代码中的逻辑判断。其实大部…

ARM base instruction -- ccmp

Conditional Compare (register) sets the value of the condition flags to the result of the comparison of two registers if the condition is TRUE, and an immediate value otherwise. 条件比较&#xff08;寄存器&#xff09;如果条件为真&#xff0c;则将条件标志的值…

time命令:轻松测量Linux命令执行时间!

一、命令简介 用途&#xff1a; 用于测量 Linux 命令执行的时间&#xff0c;包括实际时间、用户 CPU 时间和系统 CPU 时间。刚开始以为是用来“看现在几点钟”的 &#x1f972;。标签&#xff1a; 实用工具&#xff0c;性能分析。 ‍ 二、命令参数 2.1 命令格式 time [选项…

golang 如何生成唯一的 UUID

推荐学习文档 golang应用级os框架&#xff0c;欢迎stargolang应用级os框架使用案例&#xff0c;欢迎star案例&#xff1a;基于golang开发的一款超有个性的旅游计划app经历golang实战大纲golang优秀开发常用开源库汇总想学习更多golang知识&#xff0c;这里有免费的golang学习笔…

ELK-02-skywalking-v10.0.1安装

文章目录 前言一、下载skywalking二、上传到服务器并解压三、安装jdk21四、修改配置五、启动总结 前言 skywalking-v10.0.1安装。 运用es持久化数据&#xff0c;所以需先完成ELK-01步骤。 一、下载skywalking 下载地址&#xff1a;https://skywalking.apache.org/downloads/ …