当前位置:网站首页>PDF在线预览,pdf.js的使用
PDF在线预览,pdf.js的使用
2022-07-23 05:46:00 【北海怪兽Monster】
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="../plugins/pdfjs/pdf.min.js" ></script>
<script src="../plugins/pdfjs/pdf.worker.min.js" ></script>
<!-- 这两个插件在资源里面有,也可以自己去官网下,我这个使用的版本比较低,是2.0.X的, 具体版本号忘了,版本越高对于浏览器的版本要求也就越高 -->
</head>
<body>
<div id="pdfDiv"></div>
<script> // 展示pdf function initPdf(url) {
var loadingTask = pdfjsLib.getDocument(url); var pdfDiv = document.getElementById('pdfDiv');//这里的pdfDiv和上面容器中的id对应 loadingTask.promise.then(function (pdf) {
for (var i = 1; i <= pdf.numPages; i++) {
pdf.getPage(i).then(function (page) {
var scale = 1.5; var viewport = page.getViewport({
scale: scale,}); // Support HiDPI-screens. var outputScale = window.devicePixelRatio || 1; var canvas = document.createElement('canvas'); var context = canvas.getContext('2d'); pdfDiv.appendChild(canvas); canvas.width = Math.floor(viewport.width * outputScale); canvas.height = Math.floor(viewport.height * outputScale); canvas.style.width = Math.floor(viewport.width) + "px"; canvas.style.height = Math.floor(viewport.height) + "px"; var transform = outputScale !== 1 ? [outputScale, 0, 0, outputScale, 0, 0] : null; var renderContext = {
canvasContext: context, transform: transform, viewport: viewport }; page.render(renderContext); }); } }); } var filePath = '可以是本地文件路径,也可以是网络文件路径'; initPdf(filePath);// filePath是要预览的pdf地址,D:\nginx-1.21.1\html\fzzd\resource\articleFile\20220420\053129003.pdf </script>
</body>
</html>
边栏推荐
猜你喜欢
随机推荐
0数组 LeetCode605. 种花问题
WebSocket 协议讲解
[memory understand the difference and function between ram flash and EEPROM memory]
Hcip --- BGP --- border gateway protocol
[AUTOSAR storage stack NVM]
解决谷歌chrome浏览器双击没反应,不能启动(亲测好用)
主机字节序的判定
C#:TopK:1万个数取前最大的100,堆排序
详解TCP的流量控制机制与拥塞控制机制
OSPF routing strategy and Traffic Capture
详解TCP分段与IP分片
牛客面试必考真题【算法篇】高频Top200 题目汇总
Unity3d:场景加载 GameObejct上脚本执行顺序
HCIP---BGP ---边界网关协议
SQL基础操作总结
[fee of AUTOSAR (difference between nonvolatile memory flash and EEPROM)]
Unity3D+moba+技能指示器(二)
剑指 Offer做题总结
TeX or LaTeX or MikTeX or TeX Live or CTeX
动态规划——“换硬币问题”









