杰表技术论坛 's Archiver

admin 发表于 2017-12-21 15:05

【jcp使用手册】一键打印多个 pdf 和 html 文档

jcp 可以用 print方法,打印html文档,也可以用 printDocument方法,打印一个pdf文件,而且,可以这两个方法,都提供了回调机制。

类似print方法,回调函数定义在myDoc参数中,同样,在printDocument的第二个参数的Object对象中,也可以设置一个回调函数,如下所示:
[code]var myDoc = {  
    fileType : 'pdf',  
    done : function() {  
        console.log("pdf打印结束");  
    }  
}  
getJCP().printDocument("a.pdf", myDoc);[/code]  
这里,只需要关注 done回调,更详细的pdf打印介绍,请参照pdf打印部分。

以下示例,利用回调机制,一次性顺序打印一个html文档,一个pdf文档,再打印html文档:
//打印三个文档,html格式2个,pdf格式1个  
[code]var docs = [{  
    type : 'html',  
    documents : document  
        // html文档, page1 ... div在本文档中  
    }, {  
    type : 'pdf', // pdf文件打印  
    url : 'pdf/apicpp.pdf' // pdf流位置  
}, {  
    type : 'html',  
    documents : 'pages.htm' // html文档, page1 ... div在一个url文件中  
}]  
function main() {  
    doPrint(0);  
}  
function doPrint(current) {  
    var doc = docs[current];  
    if (doc.type == 'html') {  
        var mydoc = {  
            documents : doc.documents,  
            copyrights : "杰创软件拥有版权  www.jatools.com",  
            done : function() {  
                if (current < docs.length - 1) {  
                    doPrint(current + 1);  
                }  
            }  
        }  
        getJCP().print(mydoc);  
    } else if (doc.type == 'pdf') {  
        var mydoc = {  
            fileType : 'pdf',  
            done : function() {  
                if (current < docs.length - 1) {  
                    doPrint(current + 1);  
                }  
            }  
        }  
        getJCP().printDocument(doc.url, mydoc);  
    }  
}  


[/code]

admin 发表于 2017-12-21 15:06

在线示例:[url=http://print.jatools.com/jcp/0.99/donemultiformats.htm]http://print.jatools.com/jcp/0.99/donemultiformats.htm[/url]

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.