政务浏浏览器Demo

页面打印相关的API

页面打印printPage

页面打印函数是zwexplorer.__print.printPage();配合css可以实现精准的公文打印和套打。

打印当前页面

下面的代码打印当前的页面;打印参数见打印参数
特别注意 打印当前页面的接口不能通过http模式访问
                                            function printPage(deviceName) {
                                                //printRequest的可以为null,也可以指定参数,结构如下
                                                //{
                                                //    data?:string,
                                                //      optionsKey: 'my-page-print-1', //保存在本地的打印配置参数的key
                                                //    options:{...} //options选项件本页“打印参数选项”
                                                //}
                                                let printRequest = {
                                                    data: '', // 如果Data不设置或者设置为空,表示打印本页面
                                                    optionsKey: 'my-page-print-1', //保存在本地的打印配置参数的key
                                                    options: {} //如果同时设置了options,则options中的参数优先于optionsKey中的设置。
                                                };
        
                                                if (deviceName) {
                                                    printRequest.options['deviceName'] = deviceName;
                                                }
        
                                                window.zwexplorer.__printer.printPage(printRequest, (resp) => {
                                                    if (resp.resultCode === 0) {
                                                        console.log(resp.resultMessage);
                                                    } else {
                                                        console.log('打印失败,原因是:' + resp.resultMessage);
                                                    }
                                                });
                                            }
                                    

打印指定url的页面

下面的代码打印指定的url;打印参数见打印参数
请输入待打印的页面地址,可以多个


打印调用返回:


打印结果:
被打印的url 结果 错误信息
打印指定的url的代码如下
                                            
                                            /**
                                             * TODO 指定deviceName未成功,待研究,20231117
                                             */
                                            function printPage2(deviceName) {
                                                let urls = [];
                                                const url_1 = $("#url_1").val();
                                                if (url_1) {
                                                    urls.push(url_1);
                                                }

                                                const url_2 = $("#url_2").val();
                                                if (url_2) {
                                                    urls.push(url_2);
                                                }

                                                if (urls.length == 0) {
                                                    alert('请输入待打印的url');
                                                    return;
                                                }

                                                let printRequest = {
                                                    data: urls, // 如果Data不设置或者设置为空,表示打印本页面
                                                    optionsKey: 'my-page-print-1', //保存在本地的打印配置参数的key
                                                    options: {} //如果同时设置了options,则options中的参数优先于optionsKey中的设置。
                                                };

                                                if (deviceName) {
                                                    printRequest.options['deviceName'] = deviceName;
                                                }

                                                window.zwexplorer.__printer.printPage(printRequest, (resp) => {
                                                    $("#callPrintPageResult").val(JSON.stringify(resp));
                                                    if (resp.resultCode == 0) {
                                                        $("#printTaskId").val(resp.data);
                                                    }
                                                });
                                            }
                                        
查询打印结果的代码如下

                                            /**
                                            * 查询打印结果
                                            */
                                           function queryPrintResult() {
                                               $("#printPageResult").empty();
                                               let resultId = $("#printTaskId").val();
                                               let request = {
                                                   data: resultId
                                               }
       
                                               window.zwexplorer.__printer.queryPrintResult(request, (resp) => {
                                                   if (resp.resultCode == 0) {
                                                       let details = resp.data.details;
                                                       $.each(details, (inde, elm) => {
                                                           let segmnt = "" + elm.url + "" + elm.resultCode + "" + elm.resultMessage + "";
                                                           $("#printPageResult").append(segmnt);
                                                       })
       
                                                   } else {
                                                       let segmnt = "" + resp.resultMessage + "";
                                                       $("#printPageResult").append(segmnt);
                                                   }
                                               });
                                           }