h5下载预览pdf,excel

h5下载预览pdf(pdf.js) 

1.下载pdf.js

2.预览有两种方式:

方式一:

(1)把文件放到项目根目录

(2)配置文件路径就可以了

window.open('/pdf/web/viewer.html?file='+文件路径)

方式二: 渲染在页面里

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>'Hello, world!' example</title>
</head>
<body>

<h1>'Hello, world!' example</h1>
<div id="test">
</div>
<!--<div id="pop" style="text-align: center;"></div>-->

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

<script id="script">
    // var html = '<canvas id="the-canvas1" style="border: 1px solid black; direction: ltr;"></canvas>';
    // $('#test').append(html);

    //
    // If absolute URL from the remote server is provided, configure the CORS
    // header on that server.
    //
    var url = './wm.pdf';

    //
    // The workerSrc property shall be specified.
    //
    pdfjsLib.GlobalWorkerOptions.workerSrc =
        './pdf/build/pdf.worker.js';

    //
    // Asynchronous download PDF
    //
    // var loadingTask = pdfjsLib.getDocument(url);
    // loadingTask.promise.then(function(pdf) {
    //
    //     // Fetch the first page
    //     console.log(pdf.numPages)
    //      var html = '<canvas id="the-canvas1'" style="border: 1px solid black; direction: ltr;"></canvas>';
    //      $('#test').append(html);
    //      pdf.getPage(1).then(function(page) {
    //         var scale = 1.5;
    //         var viewport = page.getViewport({ scale: scale, });
    //
    //         //
    //         // Prepare canvas using PDF page dimensions
    //         //
    //         var canvas = document.getElementById('the-canvas1');
    //         var context = canvas.getContext('2d');
    //         canvas.height = viewport.height;
    //         canvas.width = viewport.width;
    //
    //         //
    //         // Render PDF page into canvas context
    //         //
    //         var renderContext = {
    //             canvasContext: context,
    //             viewport: viewport,
    //         };
    //         page.render(renderContext);
    //     });
    // });
        var loadingTask = pdfjsLib.getDocument(url);
        loadingTask.promise.then(function(pdf) {
        //多页
        // var shownPageCount = pdf.numPages < 50 ? pdf.numPages : 50;
        var shownPageCount = pdf.numPages;
        var getPageAndRender = function (pageNumber) {
            var html = '<canvas id="the-canvas'+pageNumber+'" style="border: 1px solid black; direction: ltr;"></canvas>';
            $('#test').append(html);
            pdf.getPage(pageNumber).then(function(page) {
                var scale = 1.5;
                var viewport = page.getViewport({ scale: scale, });
                var num =pageNumber;
                var id = 'the-canvas'+num;
                console.log(num);
                var canvas = document.getElementById(id);
                var context = canvas.getContext('2d');
                canvas.height = viewport.height;
                canvas.width = viewport.width;

                var renderContext = {
                    canvasContext: context,
                    viewport: viewport,
                };
                var renderTask = page.render(renderContext);
                // Wait for rendering to finish
                renderTask.promise.then(function () {
                    if (pageNumber < shownPageCount) {
                        pageNumber++;
                        getPageAndRender(pageNumber);
                    }
                })
            });


        }
        getPageAndRender(1);
    });
</script>

<hr>
</body>
</html>

 3.关于下载,安卓和ios都是引导到外部浏览器下载,在微信内部是不支持的

预览excel

官方使用文档

<iframe src='https://view.officeapps.live.com/op/view.aspx?src=文件链接' width='100%' height='100%' frameborder='1'>
            </iframe>

 链接包含中文需要进行URL编码,并且文档必须可在Internet上公开访问

http://view.officeapps.live.com/op/view.aspx?src=<Document Location>

先研究到这里

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值