连接打印机Lodop
2024-09-05 04:49:00
<div class="panel-body">
<div class="row show-grid">
<div class="col-xs-6" >{if $orderInfo.mark}{$orderInfo.mark}{else}暂无备注信息{/if}</div>
<button type="button" class="layui-btn layui-btn-lg" onclick="handleDY()">打印 </button>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="tableId">123123qawsdasd</div>
<script>
// ====页面动态加载C-Lodop云打印必须的文件CLodopfuncs.js====
var head =
document.head ||
document.getElementsByTagName("head")[0] ||
document.documentElement;
var oscript = document.createElement("script");
// 让本机的浏览器打印(更优先一点):
oscript = document.createElement("script");
oscript.src = "http://localhost:8000/CLodopfuncs.js?priority=2";
head.insertBefore(oscript, head.firstChild);
// 加载双端口(8000和18000)避免其中某个端口被占用:
oscript = document.createElement("script");
oscript.src = "http://localhost:18000/CLodopfuncs.js?priority=1";
head.insertBefore(oscript, head.firstChild);
// 下载loadLodop
function loadLodop() {
// window.open("../assets/lodop/CLodop_Setup_for_Win32NT.exe");
let link = document.createElement("a");
link.style.display = "none";
link.href = "./static/lodop/CLodop_Setup_for_Win32NT.exe";
// link.href =
// "http://www.shengxian.dieoutbug.com/file/CLodop_Setup_for_Win32NT.exe";
//设置<a>标签的下载动作和文件名,并将标签加入body中
link.setAttribute("download", "CLodop_Setup_for_Win32NT.exe");
document.body.appendChild(link);
//模拟点击
link.click();
}
// ====获取LODOP对象的主过程:====
function getLodop() {
var LODOP;
try {
LODOP = getCLodop();
if (!LODOP && document.readyState !== "complete") {
// Message.info();
layList.msg("C-Lodop打印控件还没准备好,请稍后再试!");
return;
}
return LODOP;
} catch (err) {
console.log(111);
layer.confirm('您还未安装打印控件,点击确定下载打印控件,安装成功后刷新页面即可进行打印?', {
btn: ['确认', '取消'] //可以无限个按钮
,
}, function(index, layero){
//按钮【按钮一】的回调
loadLodop();
}, function(index){
//按钮【按钮二】的回调
});
/*
Modal.confirm({
title: "温馨提示",
content:
"您还未安装打印控件,点击确定下载打印控件,安装成功后刷新页面即可进行打印",
onOk: res => {
loadLodop();
},
onCancel: res => {}
});*/
}
}
function handleDY() {
const LODOP = getLodop()
if (LODOP) {
var strBodyStyle = '<style>'
strBodyStyle += 'table { border-top: 1 solid #000000; border-left: 1 solid #000000; border-collapse:collapse; border-spacing:0;}'
strBodyStyle += 'caption { line-height:2em; }'
strBodyStyle += 'td { border-right: 1 solid #000000; border-bottom: 1 solid #000000; text-align:left; padding:2px 3px; font-size:11px; padding-left:10px}'
strBodyStyle += '</style>' //设置打印样式
var strFormHtml = strBodyStyle + '<body>' + document.getElementById('tableId').innerHTML + '</body>' //获取打印内容
LODOP.PRINT_INIT('') //初始化
LODOP.SET_PRINT_PAGESIZE(1, 0, 0, 'A4') //设置纸张大小,纸张打印方向
LODOP.ADD_PRINT_HTM('2%', '2%', '96%', '94%', strFormHtml) //设置打印内容
LODOP.SET_PREVIEW_WINDOW(0, 2, 0, 1400, 900, '') //设置预览窗口模式和大小
LODOP.PREVIEW()
}
}
</script>
最新文章
- ThinkPHP 3.2 获取页面运行时间
- ci中如何得到配置的url
- MYSQL写入数据时报错ERROR 1366 (HY000): Incorrect string value: &#39;\xE8\x8B\xB1\xE5\xAF\xB8...&#39; for c 插入中文不能插入
- css笔记15:盒子模型
- Windows 安装Django并创建第一个应用
- 网址组成与特殊ip小解
- 【Win10】正常上网但ping不通外网
- .Net Core实现记录接口执行时间的中间件
- update linux dns,no need restart
- Egret 按钮点击缩放效果
- <;基础>; PHP 数组操作
- 20169207《Linux内核原理与分析》第六周作业
- 全面认识一下.NET 4.0的缓存功能 (转)
- task.factory.startnew()
- Spring Cloud 通过代码自定义配置Ribbon
- 学习 TList 类的实现[7]
- 数据一致性和io类型
- PHP 缓存插件之 Zend Opcache ( 取代 APC )
- CvArr、Mat、CvMat、IplImage、BYTE转换
- Cogs 1435. [USACO NOV]金发姑娘和N头牛