H5 PDF预览

<script src="./pdf/pdf.js"></script>


 <div id="container">
            <div class="lightbox"></div>
            <div id="pop" class="pop">
            </div>
        </div>

 <script type="text/javascript">
            function GetQueryString(name) {
                var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
                var r = window.location.search.substr(1).match(reg);
                if(r!=null)return  unescape(r[2]); return null;
            }
        
            var code_url = GetQueryString("code");
            var url = "https://ptphjf.oss-cn-shenzhen.aliyuncs.com/doc/%E8%8E%86%E6%83%A0%E9%87%91%E6%9C%8DAPP%E6%93%8D%E4%BD%9C%E6%89%8B%E5%86%8Cv1.0%E7%AE%80%E7%89%88.pdf";
            
            var container = document.getElementById("container");
            PDFJS.workerSrc = './pdf/pdf.worker.js';
            PDFJS.getDocument(url).then(function getPdfHelloWorld(pdf) {
                var pop=document.getElementById('pop');
                var arr = Array.from({length:pdf.numPages}, (v,k) => k+1)
                function getPdf(data){
                return new Promise((resolve,reject)=>{
                    var pageData = pdf.getPage(data).then(page=>{
                        return page
                    })
                    if(pageData){
                        resolve(pageData)
                    }else{
                        reject('error')
                    }
                })
            }
            var every = arr.map(v=>{
                return getPdf(v)
            })
            Promise.all(every).then(all=>{
                console.log(all)
                all.map(v=>{
                    var scale = 1;
                        var oDiv=document.createElement('canvas');
                        var viewport = v.getViewport(scale);
                        var canvas = oDiv;
                        var context = canvas.getContext('2d');
                        canvas.height = viewport.height;
                        canvas.width = viewport.width;
                        var renderContext = {
                            canvasContext: context,
                            viewport: viewport
                        };
                        pop.appendChild(oDiv);
                        v.render(renderContext);
                })
            })
                document.getElementById("loading").style.display = 'none'
            });
        </script>

需要两个文件pdf.js和pdf.work.js

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值