PDF在线预览,pdf.js的使用

<!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>



  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值