//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控件打印小票代码相关推荐

  1. 关于js调用ocx控件报错对象不支持此属性或方法的解决方法

    在web中用js调用ocx时有两种方法,第一种,动态调用: 1,用名称调用,var ocx=new ActiveXObject("JITDSIGN.JITDSignCtrl.1") ...

  2. python 笔记 PySimpleGUI 图形界面6- 高级API调用-进度表控件、调试输出

    整理 PySimpleGUI 官方网站 原文google翻译过来的 https://pysimplegui.readthedocs.io/en/latest/ 高级API调用 进度表控件 我们的代码中 ...

  3. JS使用Lodop控件打印表单和二维码

    有关Lodop的查询可看文章:Lodop打印条码二维码设置多宽不一定是多宽 一.了解Lodop 1.1Lodop的定义 Lodop(标音:劳道谱,俗称:露肚皮)是专业WEB控件,用它既可裁剪输出页面内 ...

  4. lodop打印html包含图片,使用lodop.js打印控件打印table并分页等

    使用lodop.js打印控件打印table并分页等 import {getLodop} from '@/utils/LodopFuncs.js' //打印表格 export default{ // n ...

  5. 分布式定时任务—xxl-job学习(四)——调度中心web页面端api调用源码分析

    分布式定时任务-xxl-job学习(四)--调度中心web页面端api调用源码分析 前言 一.controller目录下非controller类 1.1 PermissionLimit自定义注解 1. ...

  6. ReactNative开发之在原生页面调用rn控件

    在使用rn开发时,笔者遇到过这样一个需求:已有的原生页面,需要进行改版,而这个改版比较小,只是加一个ImageView,因为部门有ios的同事,而且当时已经用了rn这门技术.因此,希望这个ImageV ...

  7. IE调用WebBrowser控件实现WEB打印、分页打印、无预览打印

    WebBrowser控件 WebBrowser ActiveX 控件提供托管的包装. 托管的包装便可以在 Windows 窗体客户端应用程序中显示网页. 你可以使用WebBrowser控件重复中你的应 ...

  8. Lodop打印控件打印

    Lodop打印控件打印 前台jsp:(要引入js文件) <td width="20%" align="right"><ul class=&qu ...

  9. html5调用本地控件exe,网页上如何判断本地是否安装某个应用程序(js实现)

    @顾晓北: 你可能没说清楚,网页启动客户端检测客户端,项目由网页部分及客户端程序部分组成,网页上有一个进入按钮,如果客户端安装了,点击按钮直接打开客户端程序,如果未安装则提示消息提醒安装客户端程序,类 ...

最新文章

  1. 批处理详细教程(三)
  2. 计算机视觉与深度学习 | 基于Matlab提取SIFT特征点(源代码)
  3. Windows 活动目录(AD)服务器系统升级到2012之升级完成后工作(八)
  4. [Cocoa]深入浅出Cocoa之Core Data(2)- 手动编写代码
  5. 2.MongoDB基本操作
  6. 找出1到n的守形数c语言,c语言循环语句训练题(6页)-原创力文档
  7. 在 Oracle 中使用正则表达式
  8. 【PHP设计模式 02_JieKou.php】面向接口开发
  9. 直插式电阻电容封装与尺寸图…
  10. OpenCms创建网站过程图解
  11. Javascript农历与公历相互转换
  12. java生命之树_珍惜生命的心得感想与体会
  13. 1、模拟蚂蚁借呗—利息计算
  14. 【面试专栏】第三篇:Java基础:集合篇-List、Queue
  15. 【codeforces 350C】Bombs
  16. [bootstrap]如何使用modal
  17. Android程序报错:Unable to add window——token android.os.BinderProxy@431e65b8 is not valid
  18. VMware虐我千百遍,我却待她如初恋
  19. JAVA 基础——学习
  20. 【Java基础】迷宫问题的Java代码实现

热门文章

  1. ASP.NET幼儿园连锁管理系统源码
  2. 分布式中的CAP原理
  3. 拓嘉启远:拼多多价格体系有哪些需要了解的
  4. 易软会员、会员积分管理软件
  5. oracle通过load data 将数据导入表中通过存储过程进行批量处理
  6. centos7.2安装五笔输入法的方法(测试OK)
  7. 图纸加密彰显企业的产权意识
  8. 遭遇软件兼容问题——风云防火墙+江民杀毒软件+NetLimiter
  9. sd卡怎么恢复数据?sd卡照片恢复,只需1个方法就能做到?
  10. ubuntu18.04网卡驱动安装(联想(Lenovo)GeekPro 2022)