IE11线上显示pdf文件以及pdf.js用法

最近公司要求能够在ie上线上预览pdf插件

vue有vue-pdf插件可以用 但是js虽然有pdfjs等 但是新版本只支持谷歌浏览器(语法有箭头函数),所以在github找到了老版本的pdfjs,发现可用

代码为

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>'Hello, world!' example</title>
    <style type="text/css">
        #the-canvas {
            border:1px solid black;
        }
    </style>
</head>
<body>
<script src="./js/pdf.js"></script>
<h1>PDF.js 'Hello, base64!' example</h1>
<canvas id="the-canvas"></canvas>
</body>
<script type="text/javascript">
    var _url = 'xxx.html' //服务器pdf地址
     PDFJS.workerSrc =
                    './js/pdf.worker.js';
    var loadingTask = PDFJS.getDocument({ url: _url, });//  _url为后台请求pdf流的路径
    loadingTask.promise.then(function(pdf) {
        pdf.getPage(1).then(function(page) {
            var scale = 1.2;
            var viewport = page.getViewport(scale);
            var canvas = document.getElementById('the-canvas');
            var context = canvas.getContext('2d');
            canvas.height = viewport.height;
            canvas.width = viewport.width;
            var renderContext = {
                canvasContext: context,
                viewport: viewport,
            };
            page.render(renderContext);
        });
    });
</script>
</html>

pdfjs和pdf.worker文件在(无需积分嘿嘿)

https://download.csdn.net/download/weixin_38992765/19359334?spm=1001.2014.3001.5503

效果

在这里插入图片描述

IE终于要结束啦!前端要解放啦!

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
IE(Internet Explorer)浏览器本身并不直接支持pdf.js进行在线打印,但你可以借助第三方库pdf.jsPDF文件嵌入到网页中,并利用HTML5的打印功能来实现类似的效果。pdf.js是一个开源项目,由Mozilla开发,用于在Web页面上离线查看和交互PDF文档。 下面是使用pdf.js线打印的一般步骤: 1. 在HTML中引入pdf.js库:首先,在HTML文件中添加pdf.js的链接,通常是从其GitHub仓库获取的CDN链接。 ```html <script src="https://mozilla.github.io/pdf.js/build/pdf.js"></script> ``` 2. 加载PDF内容:在JavaScript中,创建一个新的`PDFViewer`实例,并加载PDF文件。 ```javascript var url = 'path/to/your-pdf.pdf'; PDFJS.getDocument(url).promise.then(function(pdf) { pdf.getPage(1).then(function(page) { var container = document.getElementById('pdf-container'); var scale = 1; // 设置缩放比例 var viewport = page.getViewport(scale); container.width = viewport.width; container.height = viewport.height; var renderContext = { canvasContext: container.getContext('2d'), viewport: viewport, }; // 创建渲染视图 var renderingQueue = new PDFRenderTask(renderContext); renderingQueue.execute(); }); }); ``` 3. 打印PDF:当PDF显示出来后,你可以使用浏览器的原生打印功能。例如,调用`window.print()`方法。 ```javascript // 当PDF准备好展示并且用户点击“打印”按钮时 document.getElementById('print-button').addEventListener('click', function() { window.print(); }); ``` 请注意,由于IE浏览器的过时性和不稳定性,可能无法完美支持所有的现代Web技术,所以在实际操作中可能会遇到兼容性问题。如果要在IE上实现更好的体验,建议使用较新的浏览器或提供一个更老版本的PDF.js作为备选方案。同时,对于旧版IE的支持,可能需要进行一些额外的polyfill处理。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值