连接打印机Lodop
<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>
连接打印机Lodop的更多相关文章
- PHP连接打印机
<?php header("Content-type: text/html; charset=utf-8"); class Netprint{ public $host = ...
- PHP控制连接打印机
一.需求 使用PHP控制连接打印机 现场实时连续打印动态数据 二.配置 php运行环境正确安装(Apache|Nginx + PHP) 下载与php版本对应的php_printer.dll扩展 扩展文 ...
- 打印机驱动冲突和端口异常:win10更新部分补丁后,打印机本地连接(连接打印机的主机)可以打印,其他共享网络中的电脑可以连接到打印机,但不能打印——解决方案
一.问题描述: 1.A(WIN10系统)表示连接打印机的电脑,P表示打印机(型号:惠普127M),B(WIN7系统)表示局域网中的电脑 2.A升级后部分补丁后,A可以使用打印机P打印文件,B显示可以连 ...
- 计算机windows7连接打印机
计算机连接打印机 (1)查看打印机的名字. 示例,打印机名为 HP LaserJet M1522 .... (2)打开windows开始菜单,点击[设备和打印机],然后查看打印机和传真那个区域是否有打 ...
- centos7 连接打印机
centos7 连接打印机 2017-08-07 15:05:33 五岳寻仙客 阅读数 2531更多 分类专栏: Liunx的日常使用 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版 ...
- 基于 Koa平台Node.js开发的KoaHub.js连接打印机的代码
最近好多小伙伴都在做微信商城的项目,那就给大家分享一个基于 Koa.js 平台的 Node.js web 开发的框架连接微信易联云打印机接口的代码,供大家学习.koahub-yilianyun 微信易 ...
- 局域网连接打印机(Win10)
局域网支持交换机和WIFI环境下进行连接(要求连上打印机的电脑已开启) 1.首先打开控制面板 2.硬件和声音 3.高级打印机设置 4.找到要连接的打印机,通过浏览(R) 添加局域网某台机器上的打印机, ...
- android连接打印机
android连接 网络打印,主要使用socket连接设备,发送指令给设备. 首先要有设备的IP,端口号一般默认的是9100 //打印设备网络IP etIp.setText("192.16 ...
- mac os 10.12 Sierra 连接 惠普 M1136 MFP 打印机,通过 samba 协议,安装驱动,连接打印机
参考链接: https://support.hp.com/hk-zh/product/hp-zbook-17-g3-mobile-workstation/8693765/document/c04530 ...
- win7系统 连接打印机 提示 “正在检查 windows update 需要一段时间”
现象: 在客户端 添加 打印机时,出现 “网络安装打印机 一直在检查 windows update” 提示 处理:等待上述提示结束后,会出现手动添加 提示窗口,在框内选择打印机驱动 .
随机推荐
- 【笔记】小米路由器AX1800开启ipv6外部访问
首先你的路由器要能获取ipv6地址 获取不到的光猫改桥接 路由器拨号 然后想办法开SSH ssh进路由器修改防火墙规则 ip6table的 建议先导出规则 ip6tables-save 在第120行插 ...
- java中带回调函数的字符串替换,类似js中的replace(rgExp,function)
https://blog.csdn.net/weixin_33834075/article/details/91599852 import java.util.regex.Matcher; impor ...
- 第一次写,python爬虫图片,操作excel。
第一次写博客,其实老早就注册博客园了,有写博客的想法,就是没有行动,总是学了忘,忘了丢,最后啥都没有,电脑里零零散散,东找找,西看看,今天认识到写博客的重要性. 最近闲着看了潭州教育的在线直播课程,颇 ...
- 蓝桥杯训练赛二-1199 问题 E: 哥德巴赫曾猜测
题目描述 德国数学家哥德巴赫曾猜测:任何大于6的偶数都可以分解成两个素数(素数对)的和.但有些偶数可以分解成多种素数对的和,如: 10=3+7,10=5+5,即10可以分解成两种不同的素数对 输入 输 ...
- 论文笔记:Access Path Selection In A Relational Database Management System
论文笔记:Access Path Selection In A Relation Database Management System 这篇文章是 1979 年由 IBM 发表的.主要介绍了 Syst ...
- 物料Classification 分类系统
作用:可以追加物料的属性,因为在物料主界面字段是有限的,并且并不是符合所有企业的业务,可以使用追加属性的方式给物料添加各式各样的属性 1.创建特性,Tcode:CT04 2.创建分类 Tcode:CL ...
- 我和Java这些年的故事(三)
J2EE让Java在服务端找到了用武之地,之前一直处于鄙视链末端的Java,也终于有了向VB/VC叫板的资本.EJB更是J2EE的代名词,是解决企业级组件复用的法宝. 有了JSP/Servlet,Ja ...
- unity002
物体轴心点变换 轴向变换 预览 暂停 逐帧播放 坐标 世界坐标 物体坐标 mesh 网格决定形状 渲染
- C# Linq不同类型数组之间的转换
string[] strArray = "a,b,c,d,e,f,g".Split(new char[]{ ',' }); int[] intArray; //C# 3.0下用此句 ...
- linux 服务器 重命名
vim /etc/hosts 追加 10.10.134.68 RmcbTestDB3 RmcbTestDB3 # ip 名称 名称 127.0.0.1 localhost ...