当前位置: 首页 > ops >正文

在线PDF阅读方案:jQuery + PDF.js

<!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";  // 替换成你的 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);});}// 加载 PDF 并渲染第一页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>
http://www.xdnf.cn/news/4455.html

相关文章:

  • K8S 基于本地存储的持久卷
  • 《Python星球日记》 第44天: 线性回归与逻辑回归
  • 猫咪如厕检测与分类识别系统系列~进阶【一】视频流推流及网页实时展示
  • 电脑桌面悬浮窗便签,好用的电脑桌面便签工具
  • Android Studio根目录下创建多个可运行的模块
  • ESP32-S3 I2S音频开发实战指南
  • Nginx性能调优与深度监控
  • html css js网页制作成品——HTML+CSS珠海网页设计网页设计(4页)附源码
  • LVGL-对象 lv_obj_t
  • FAISS(Facebook AI Similarity Search)
  • STM32基础教程——软件SPI
  • 高效C/C++之七:Coverity修复问题: 打印函数切记对应类型 和 判定非空指针变量后使用
  • eFish-SBC-RK3576工控板外部RTC测试操作指南
  • 【工具变量】最新华证ESG评级得分数据-含xlsx及dta格式(2009-2024.12)
  • vscode预览模式(点击文件时默认覆盖当前标签,标签名称显示为斜体,可通过双击该标签取消)覆盖标签、新窗打开
  • 用 CodyBuddy 帮我写自动化运维脚本
  • 易基因:中山大学凌文华团队DNA甲基化研究揭示血管衰老与动脉粥样硬化的表观调控机制|项目文章
  • Debezium BinaryLogClient详解
  • 信息论08:从交叉熵到KL散度——信息论中的“距离“与“差异“度量指南
  • Tiny Machine Learning在人类行为分析中的全面综述
  • ICML 2025录取率公布,spotlight posters仅占2.6%
  • 函数申明 Q_INVOKABLE
  • 4、反应釜压力监控系统 - /自动化与控制组件/reaction-vessel-monitor
  • 关于almalinux分区配置:
  • Java基础 5.7
  • AI日报 · 2025年5月07日|谷歌发布 Gemini 2.5 Pro 预览版 (I/O 版本),大幅提升编码与视频理解能力
  • Spark的基本介绍
  • 信息系统项目管理师-软考高级(软考高项)​​​​​​​​​​​2025最新(十一)
  • 塔能热回收节能方案:深挖工厂能耗中的“隐形宝藏”
  • WEBSTORM前端 —— 第2章:CSS —— 第6节:定位、CSS 高级技巧、修饰属性