页面打印相关的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);
}
});
}