鍍金池/ 問(wèn)答/HTML5  HTML/ requirejs 引用pdf.js的時(shí)候 保存 不使用require在控制臺(tái)

requirejs 引用pdf.js的時(shí)候 保存 不使用require在控制臺(tái)輸出

define(['avalon','public','PDFJS'],function(avalon,public,PDFJS) {
    public.showLoading();
    var vm = avalon.define({
        $id: 'fileCtrl',
        tableObj:{
            htxxzjbh :"", // 合同主鍵編號(hào)

            fileurll :"", // 文件路徑
            htxxzjbh :"", // 合同主鍵編號(hào)
            hetmchen :"", // 文件名稱
        },
        initFunc: function() {
            public.closeLoading();
            var urls=decodeURI(location.hash);
            var pIdx = urls.indexOf("param=");
            if (pIdx > -1) {
                  var params = urls.substring(pIdx * 1 + 6);
                  if (params != "") {
                        vm.tableObj.htxxzjbh = params.split("&")[0];
                        vm.selectDetailEvt();
                  }
            }
        },
        //查看詳情
        selectDetailEvt:function(){
            var obj = {
                htxxzjbh:vm.tableObj.htxxzjbh,
            };
            public.ajaxDataFetch({
                type: 'post',
                moke: true,
                data:JSON.stringify(obj),
                url: 'GET_APP_APPLY_CTCTINFO',
                callback:function(data){
                    setTimeout(function(){
                        public.closeLoading();
                    },500);
                    if(data.code=='0000'){
                        var _href = window.location.host;
                        vm.tableObj.fileurll = data.data.fileurll;
                        vm.tableObj.htxxzjbh = data.data.htxxzjbh;
                        vm.tableObj.hetmchen = data.data.filename;

                        public.nodeReady({
                            elId: 'con',
                            callback: function(node){
                                PDFJS.getDocument(data.data.fileurll).then(pdf=>{
                                    var numPages = pdf.numPages;
                                    var start = 1;
                                    renderPageAsync(pdf, numPages, start);
                                });
                            }
                        })




                    }else{
                        mui.alert(data.msg, ' ', function() {});
                    }
                }
            });
        },

    });
    return vm;
});
function renderPage(pdf, numPages, current){
    console.log("renderPage");
    pdf.getPage(current++).then(page=>{
        //console.log('page', page);
        //page.getTextContent().then(v=>console.log(v));
        var scale = 1.5;
    var viewport = page.getViewport(scale);
    // Prepare canvas using PDF page dimensions.
    var canvas = document.createElement("canvas");
    var context = canvas.getContext('2d');
    document.body.appendChild(canvas);

    canvas.height = viewport.height;
    canvas.width = viewport.width;

    // Render PDF page into canvas context.
    var renderContext = {
        canvasContext: context,
        viewport: viewport
    };
    page.render(renderContext);

    //next
    if(current<=numPages)return renderPage(pdf, numPages, current);
});
}
async function renderPageAsync(pdf, numPages, current){
    console.log("renderPage async");
    for(let i=1; i<=numPages; i++){
        // page
        let page = await pdf.getPage(i);

        let scale = 1.5;
        let viewport = page.getViewport(scale);
        // Prepare canvas using PDF page dimensions.
        let canvas = document.createElement("canvas");
        let context = canvas.getContext('2d');
        document.body.appendChild(canvas);

        canvas.height = viewport.height;
        canvas.width = viewport.width;

        // Render PDF page into canvas context.
        let renderContext = {
            canvasContext: context,
            viewport: viewport
        };
        page.render(renderContext);
    }
}

clipboard.png

回答
編輯回答
初念

兄弟問(wèn)題解決了嗎, 我也遇到了,怎么依賴都找不到PDFJS這個(gè)對(duì)象

2017年5月2日 10:20