连接打印机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” 提示 处理:等待上述提示结束后,会出现手动添加 提示窗口,在框内选择打印机驱动 .
随机推荐
- 【服务器数据恢复】热备盘同步失败导致数据丢失的raid5数据恢复案例
服务器数据恢复环境:华为s系列服务器:24块硬盘组成一组raid5磁盘阵列,其中包含1块热备盘. 服务器故障&检测:服务器工作状态下raid5中有一块硬盘离线,热备盘激活替换离线硬盘并开始进行 ...
- SMW0 对应 MIME TYPE 无法包进请求上传
SAP Notes - SAP for Me 2228060 - SMW0 Key entry for table MIMETYPES may only be generic Resolution S ...
- Java学习笔记-11
StringBuffer:是字符串缓冲区,是一个容器.长度是固定的,可以直接添加多个数据类型.最终回通过toString方法变成字符串. 容器具备的特点:存储,删除,获取,修改 存储操作: Strin ...
- NSQ(8)-有赞相关改进
如何保证消息队列的高可用(HA) NSQ 本身就是一个分布式消息队列,且支持水平扩展,无单点故障,能在无中断的情况下无缝添加集群结点. nsq用到了集群去保证整个服务的高可用,但并不能保证单个topi ...
- Vue源码主体分析
vue的响应式和react的函数式编程思想是很不同的. vue最基本的原理是对getter和setter的代理模式.以及观察者模式. 当数据发生变化时,通知观察者. 而watcher是通过触发数据的g ...
- 记一个在线工具网站,程序员必备,json格式化、压缩、转义,加解密 编码解码
简用-在线工具箱-简单易用-工具大全 提供 json格式化,json代码压缩,json校验解析,json数组解析,json转xml,xml转json,json解析,json在线解析,json在线解析及 ...
- testtesttest
test test 2022-09-24 #include<iostream> using namespace std; int main(){ cout<<&qu ...
- 35.Linux 性能监控常用命令
内存 top CPU yum install -y sysstat mpstat 网络 netstat //参数说明 //-n:拒绝显示别卖,能显示数字的全部转化数字 //-l:仅列出Listen(监 ...
- v4l2编程
一.video 4 linux 2 ,是linux中关于视频设备的内核驱动.在linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/video 0下 二一般操作流程( ...
- 基于Java语言的编码问题了解
基于Java语言的编码问题了解 以下仅为本人工作.学习过程中所接触到的内容,不足之处欢迎指出. 近两天使用maven的tomcat插件,以及使用非插件版的tomcat部署项目时遇到了乱码问题,在解决乱 ...