php lodop,web页面通过JS调用Lodop控件打印小票代码
//js代码
window.onload = function () {
xiaopiaoprint();//页面加载后打印
xiaopiaopreview();//页面加载后预览
};
var myDate = new Date();
var dayinshijian = myDate.getFullYear() + "/" + myDate.getMonth() + "/" + myDate.getDate() + " " + myDate.getHours() + ":" + myDate.getMinutes() + ":" + myDate.getSeconds();//拼接处打印时间
var LODOP; //声明为全局变量
function xiaopiaoprint() {
Create("财务联");
LODOP.PRINT();
setTimeout(function () {
Create("客户联");
LODOP.PRINT();
setTimeout(function () {
Create("客户联");
LODOP.PRINT();
}, 5000);
}, 5000);//此处是延时打印
}
function xiaopiaopreview() {
Create("客户联");
LODOP.PREVIEW();
}
function Create(type) {//往下就不做注释了 累。。。慢慢看吧。。。
var xiaopiaotiaoxingma = document.getElementById("xiaopiaotiaoxingma").innerHTML;
var xiaopiaocon = document.getElementById("xiaopiaocon1").innerHTML;
xiaopiaocon = xiaopiaocon.replace("", dayinshijian);
if (type == "财务联") {
xiaopiaocon = xiaopiaocon + "顾客签字:=qz=**##";
}
var margintop = 10;
LODOP = getLodop();
LODOP.ADD_PRINT_IMAGE(margintop, 0, 180, 60, "");
LODOP.ADD_PRINT_TEXT(margintop, 52, 190, 0, "e奢坊洗衣凭据");
LODOP.SET_PRINT_STYLE("FontSize", 10);
LODOP.SET_PRINT_STYLE("FontName", "黑体");
LODOP.ADD_PRINT_TEXT(margintop + 70, 20, 190, 0, type + " (洗衣凭据)");
LODOP.ADD_PRINT_BARCODE(margintop + 70 + 20, 20, 190, 45, "128A", xiaopiaotiaoxingma);
LODOP.SET_PRINT_STYLE("FontSize", 7);
var xiaopiaoconarr = xiaopiaocon.split("**##");
var len = xiaopiaoconarr.length;
var i;
var eachHeight = margintop + 70 + 20 + 60;
for (i = 0; i
if (xiaopiaoconarr[i].indexOf("*|*") > 0) {//这里的主要目的是判断读取数据库的数据长度,如果长度太长,导致换行的话,就按两行或者多行显示。
var orderarr = xiaopiaoconarr[i].split("*|*");
var thisheight;
if (orderarr[0].length <= 4 && orderarr[1].length <= 3 && orderarr[2].length <= 4) {//单行 备注 这里以及后面的4、3、8等等数字是我根据我自己设置的宽度以及字体大小测试得到的,大家借鉴的时候不要生搬硬套
thisheight = 10;
LODOP.ADD_PRINT_TEXT(eachHeight, 0, 49, thisheight, orderarr[0]);
LODOP.ADD_PRINT_TEXT(eachHeight, 50, 44, thisheight, orderarr[1]);
LODOP.ADD_PRINT_TEXT(eachHeight, 90, 49, thisheight, orderarr[2]);
LODOP.ADD_PRINT_TEXT(eachHeight, 126, 24, thisheight, orderarr[3]);
LODOP.ADD_PRINT_TEXT(eachHeight, 155, 24, thisheight, orderarr[4]);
eachHeight = eachHeight + 10;
} else if (orderarr[0].length > 4 && orderarr[0].length <= 8 && orderarr[1].length > 3 && orderarr[1].length <= 6 && orderarr[2].length > 4 && orderarr[2].length <= 8) {//两行
thisheight = 20;
LODOP.ADD_PRINT_TEXT(eachHeight, 0, 49, thisheight, orderarr[0]);
LODOP.ADD_PRINT_TEXT(eachHeight, 50, 44, thisheight, orderarr[1]);
LODOP.ADD_PRINT_TEXT(eachHeight, 90, 49, thisheight, orderarr[2]);
LODOP.ADD_PRINT_TEXT(eachHeight, 126, 24, thisheight, orderarr[3]);
LODOP.ADD_PRINT_TEXT(eachHeight, 155, 24, thisheight, orderarr[4]);
eachHeight = eachHeight + 10;
} else {//多行
thisheight = 30;
LODOP.ADD_PRINT_TEXT(eachHeight, 0, 49, thisheight, orderarr[0]);
LODOP.ADD_PRINT_TEXT(eachHeight, 50, 44, thisheight, orderarr[1]);
LODOP.ADD_PRINT_TEXT(eachHeight, 90, 49, thisheight, orderarr[2]);
LODOP.ADD_PRINT_TEXT(eachHeight, 126, 24, thisheight, orderarr[3]);
LODOP.ADD_PRINT_TEXT(eachHeight, 155, 24, thisheight, orderarr[4]);
eachHeight = eachHeight + 30;
}
} else if (xiaopiaoconarr[i].indexOf("=ppff=") > 0) {
var orderarr = xiaopiaoconarr[i].split("=ppff=");
if ((orderarr[0] + " ").length + orderarr[1].length >= 18) {
LODOP.ADD_PRINT_TEXT(eachHeight, 0, 190, 0, orderarr[0]);
eachHeight = eachHeight + 10;
LODOP.ADD_PRINT_TEXT(eachHeight, 0, 190, 0, orderarr[1]);
} else {
LODOP.ADD_PRINT_TEXT(eachHeight, 0, 190, 0, orderarr[0] + " " + orderarr[1]);
}
eachHeight = eachHeight + 10;
} else if (xiaopiaoconarr[i].indexOf("=add=") > 0) {
var orderarr = xiaopiaoconarr[i].split("=add=");
if (orderarr[0].length >= 18) {
LODOP.ADD_PRINT_TEXT(eachHeight, 0, 190, 0, orderarr[0].substr(0, 16));
eachHeight = eachHeight + 10;
LODOP.ADD_PRINT_TEXT(eachHeight, 0, 190, 0, orderarr[0].substr(16, orderarr[0].length));
} else {
LODOP.ADD_PRINT_TEXT(eachHeight, 0, 190, 0, orderarr[0]);
}
eachHeight = eachHeight + 10;
} else if (xiaopiaoconarr[i].indexOf("##**") > 0) {
var orderarr = xiaopiaoconarr[i].split("##**");
LODOP.SET_PRINT_STYLE("FontSize", 8.5);
LODOP.ADD_PRINT_TEXT(eachHeight - 10, 100, 100, 0, orderarr[0]);
LODOP.SET_PRINT_STYLE("FontSize", 7);
eachHeight = eachHeight;
} else if (xiaopiaoconarr[i].indexOf("=qz=") > 0) {
var orderarr = xiaopiaoconarr[i].split("=qz=");
LODOP.SET_PRINT_STYLE("FontSize", 8.5);
LODOP.ADD_PRINT_TEXT(eachHeight, 0, 100, 100, orderarr[0]);
LODOP.SET_PRINT_STYLE("FontSize", 7);
eachHeight = eachHeight + 100;
} else {
LODOP.ADD_PRINT_TEXT(eachHeight, 0, 190, 0, xiaopiaoconarr[i]);
eachHeight = eachHeight + 10;
}
}
LODOP.SET_PRINT_PAGESIZE(0, 580, (eachHeight + 30) * 2.6458, "");
i = null;
}
其实也可以用Lodop的 ADD_PRINT_HTM方法来打印,但是 ADD_PRINT_HTM方法貌似不能调整字体大小,所以我只能用拼接拆分字符串的方式一行一行的打印。如果有高手知道怎么用 ADD_PRINT_HTM 方法来调整字体大小的方法,还望指点一下小生。
代码乱七八糟,望大牛们多多指点。
Lodop免费版直接打印的时候会带水印。暂时没找到去掉的办法。
php lodop,web页面通过JS调用Lodop控件打印小票代码相关推荐
- 关于js调用ocx控件报错对象不支持此属性或方法的解决方法
在web中用js调用ocx时有两种方法,第一种,动态调用: 1,用名称调用,var ocx=new ActiveXObject("JITDSIGN.JITDSignCtrl.1") ...
- python 笔记 PySimpleGUI 图形界面6- 高级API调用-进度表控件、调试输出
整理 PySimpleGUI 官方网站 原文google翻译过来的 https://pysimplegui.readthedocs.io/en/latest/ 高级API调用 进度表控件 我们的代码中 ...
- JS使用Lodop控件打印表单和二维码
有关Lodop的查询可看文章:Lodop打印条码二维码设置多宽不一定是多宽 一.了解Lodop 1.1Lodop的定义 Lodop(标音:劳道谱,俗称:露肚皮)是专业WEB控件,用它既可裁剪输出页面内 ...
- lodop打印html包含图片,使用lodop.js打印控件打印table并分页等
使用lodop.js打印控件打印table并分页等 import {getLodop} from '@/utils/LodopFuncs.js' //打印表格 export default{ // n ...
- 分布式定时任务—xxl-job学习(四)——调度中心web页面端api调用源码分析
分布式定时任务-xxl-job学习(四)--调度中心web页面端api调用源码分析 前言 一.controller目录下非controller类 1.1 PermissionLimit自定义注解 1. ...
- ReactNative开发之在原生页面调用rn控件
在使用rn开发时,笔者遇到过这样一个需求:已有的原生页面,需要进行改版,而这个改版比较小,只是加一个ImageView,因为部门有ios的同事,而且当时已经用了rn这门技术.因此,希望这个ImageV ...
- IE调用WebBrowser控件实现WEB打印、分页打印、无预览打印
WebBrowser控件 WebBrowser ActiveX 控件提供托管的包装. 托管的包装便可以在 Windows 窗体客户端应用程序中显示网页. 你可以使用WebBrowser控件重复中你的应 ...
- Lodop打印控件打印
Lodop打印控件打印 前台jsp:(要引入js文件) <td width="20%" align="right"><ul class=&qu ...
- html5调用本地控件exe,网页上如何判断本地是否安装某个应用程序(js实现)
@顾晓北: 你可能没说清楚,网页启动客户端检测客户端,项目由网页部分及客户端程序部分组成,网页上有一个进入按钮,如果客户端安装了,点击按钮直接打开客户端程序,如果未安装则提示消息提醒安装客户端程序,类 ...
最新文章
- 批处理详细教程(三)
- 计算机视觉与深度学习 | 基于Matlab提取SIFT特征点(源代码)
- Windows 活动目录(AD)服务器系统升级到2012之升级完成后工作(八)
- [Cocoa]深入浅出Cocoa之Core Data(2)- 手动编写代码
- 2.MongoDB基本操作
- 找出1到n的守形数c语言,c语言循环语句训练题(6页)-原创力文档
- 在 Oracle 中使用正则表达式
- 【PHP设计模式 02_JieKou.php】面向接口开发
- 直插式电阻电容封装与尺寸图…
- OpenCms创建网站过程图解
- Javascript农历与公历相互转换
- java生命之树_珍惜生命的心得感想与体会
- 1、模拟蚂蚁借呗—利息计算
- 【面试专栏】第三篇:Java基础:集合篇-List、Queue
- 【codeforces 350C】Bombs
- [bootstrap]如何使用modal
- Android程序报错:Unable to add window——token android.os.BinderProxy@431e65b8 is not valid
- VMware虐我千百遍,我却待她如初恋
- JAVA 基础——学习
- 【Java基础】迷宫问题的Java代码实现