先前梳理了后台打印导出参考:https://www.cnblogs.com/yyk1226/p/9856032.html,但是没有显示出来打印预览页面。

本章使用Lodop插件进行打印设置,实现打印机设置功能。

效果展示:

点击打印之后,弹出【打印预览】效果,一旦连接到打印机,即可打印。

具体实现:

1.下载相关插件

百度网盘下载地址:链接:https://pan.baidu.com/s/1WZsi6TPGjFj7PbAGW4ertg 密码:s375

解压之后:

2.安装lodop

方式一:双击对应.exe可执行应用程序进行安装;

方式二:接下来讲到的,在jsp页面上提醒选择安装,因为有时候开发的东西是让客户使用的,不可能每次都得跟客户通知要安装哪些插件或者应用程序。

3.将解压后的文件放置在项目中,如图。

4.修改LodopFuncs.js中相关路径。

5.修改LodopFuncs.js中注册信息的账号与密码。

6.设计将打印的表格模板。(设计模板学习可以参考网上教程也可以自己摸索,上手很快)

lodop设计url地址:http://test.kerunsoft.cn/lodop_print/

7.设计完选择【生成程序代码】,进行复制。

8.将代码块粘贴到LodopPrint.js文件中,如下所示。

function PrintEntryOrder(data) {
CreateEntryPrintPage(data);
} function CreateEntryPrintPage(data) {
var LODOP = getLodop();
var rowMoveDown = ;
var lineMoveDown = ;
var rowHeight = ;
var lineHeight = ;
var x = ;
var y = ;
var list = ; //纸张大小
LODOP.PRINT_INITA(,,,,""); //单名称
LODOP.ADD_PRINT_TEXT(,,,,"测试一张入库单");
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",);
LODOP.SET_PRINT_STYLEA(,"Bold",); //商户标签
LODOP.ADD_PRINT_TEXT(,,,,"入库客户:");
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",);
//--动态值
LODOP.ADD_PRINT_TEXT(,,,,data.merchantName);
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",); LODOP.ADD_PRINT_TEXT(,,,,"入库日期:");
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",);
LODOP.ADD_PRINT_TEXT(,,,,data.entryDate);
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",); LODOP.ADD_PRINT_TEXT(,,,,"车牌号:");
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",);
LODOP.ADD_PRINT_TEXT(,,,,data.carNumber);
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",); LODOP.ADD_PRINT_TEXT(,,,,"卸车温度:");
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",);
LODOP.ADD_PRINT_TEXT(,,,,data.carTemperature);
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",); LODOP.ADD_PRINT_TEXT(,,,,"始发地:");
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",);
LODOP.ADD_PRINT_TEXT(,,,,data.bgnLocation);
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",); LODOP.ADD_PRINT_TEXT(,,,,"目的地:");
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",);
LODOP.ADD_PRINT_TEXT(,,,,data.endLocation);
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",); //产品表头
LODOP.ADD_PRINT_TEXT(,,,,"序号");
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",);
LODOP.SET_PRINT_STYLEA(,"Bold",);
LODOP.ADD_PRINT_TEXT(,,,,"产品名称");
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",);
LODOP.SET_PRINT_STYLEA(,"Bold",);
LODOP.ADD_PRINT_TEXT(,,,,"产品规格");
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",);
LODOP.SET_PRINT_STYLEA(,"Bold",);
LODOP.ADD_PRINT_TEXT(,,,,"件数");
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",);
LODOP.SET_PRINT_STYLEA(,"Bold",);
LODOP.ADD_PRINT_TEXT(,,,,"总重量");
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",);
LODOP.SET_PRINT_STYLEA(,"Bold",);
LODOP.ADD_PRINT_TEXT(,,,,"入库货位号");
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",);
LODOP.SET_PRINT_STYLEA(,"Bold",);
LODOP.ADD_PRINT_TEXT(,,,,"备注");
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",);
LODOP.SET_PRINT_STYLEA(,"Bold",); //产品值 --> 横向
if (data.esiList.length > ) {
list = data.esiList.length;
for (var i = ; i < list; i++) {
var item = data.esiList[i];
LODOP.ADD_PRINT_TEXT(x+rowMoveDown+(rowHeight * i),,,,(i + ));
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",);
LODOP.ADD_PRINT_TEXT(x+rowMoveDown+(rowHeight * i),,,,item.name);
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",);
LODOP.ADD_PRINT_TEXT(x+rowMoveDown+(rowHeight * i),,,,item.specs);
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",);
LODOP.ADD_PRINT_TEXT(x+rowMoveDown+(rowHeight * i),,,,item.goodsCount);
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",);
LODOP.ADD_PRINT_TEXT(x+rowMoveDown+(rowHeight * i),,,,item.goodsWeight);
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",);
LODOP.ADD_PRINT_TEXT(x+rowMoveDown+(rowHeight * i),,,,item.stockCode);
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",);
LODOP.ADD_PRINT_TEXT(x+rowMoveDown+(rowHeight * i),,,,item.remark);
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",); LODOP.ADD_PRINT_RECT(x+lineMoveDown+(lineHeight * i),,,,,);
LODOP.ADD_PRINT_RECT(x+lineMoveDown+(lineHeight * i),,,,,);
LODOP.ADD_PRINT_RECT(x+lineMoveDown+(lineHeight * i),,,,,);
LODOP.ADD_PRINT_RECT(x+lineMoveDown+(lineHeight * i),,,,,);
LODOP.ADD_PRINT_RECT(x+lineMoveDown+(lineHeight * i),,,,,);
LODOP.ADD_PRINT_RECT(x+lineMoveDown+(lineHeight * i),,,,,);
LODOP.ADD_PRINT_RECT(x+lineMoveDown+(lineHeight * i),,,,,);
} //合计行,判断是否显示
LODOP.ADD_PRINT_TEXT(x+rowMoveDown+(rowHeight * list),,,,"合计:");
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",);
LODOP.ADD_PRINT_TEXT(x+rowMoveDown+(rowHeight * list),,,,"");
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",);
LODOP.ADD_PRINT_TEXT(x+rowMoveDown+(rowHeight * list),,,,"");
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",); LODOP.ADD_PRINT_RECT(x+lineMoveDown+(lineHeight * list),,,,,);
LODOP.ADD_PRINT_RECT(x+lineMoveDown+(lineHeight * list),,,,,);
LODOP.ADD_PRINT_RECT(x+lineMoveDown+(lineHeight * list),,,,,);
LODOP.ADD_PRINT_RECT(x+lineMoveDown+(lineHeight * list),,,,,);
LODOP.ADD_PRINT_RECT(x+lineMoveDown+(lineHeight * list),,,,,); list = list + ;
} LODOP.ADD_PRINT_TEXT(x+rowMoveDown+(rowHeight * list),,,,"入库确认签字:");
LODOP.SET_PRINT_STYLEA(,"FontSize",);
LODOP.SET_PRINT_STYLEA(,"Alignment",); //外框
LODOP.ADD_PRINT_RECT(,,,,,);
LODOP.ADD_PRINT_RECT(,,,,,); LODOP.ADD_PRINT_RECT(,,,,,); LODOP.ADD_PRINT_RECT(,,,,,);
LODOP.ADD_PRINT_RECT(,,,,,);
LODOP.ADD_PRINT_RECT(,,,,,);
LODOP.ADD_PRINT_RECT(,,,,,);
LODOP.ADD_PRINT_RECT(,,,,,); LODOP.ADD_PRINT_RECT(,,,,,);
LODOP.ADD_PRINT_RECT(,,,,,);
LODOP.ADD_PRINT_RECT(,,,,,);
LODOP.ADD_PRINT_RECT(,,,,,); LODOP.ADD_PRINT_RECT(,,,,,);
LODOP.ADD_PRINT_RECT(,,,,,);
LODOP.ADD_PRINT_RECT(,,,,,);
LODOP.ADD_PRINT_RECT(,,,,,); LODOP.ADD_PRINT_RECT(,,,,,);
LODOP.ADD_PRINT_RECT(,,,,,);
LODOP.ADD_PRINT_RECT(,,,,,);
LODOP.ADD_PRINT_RECT(,,,,,);
LODOP.ADD_PRINT_RECT(,,,,,);
LODOP.ADD_PRINT_RECT(,,,,,);
LODOP.ADD_PRINT_RECT(,,,,,); LODOP.PRINT_DESIGN();
//LODOP.PREVIEW();
//LODOP.PRINT();
};

9.在jsp页面调用该打印方法,并传输动态值。

点击按钮:

<input type="button" class="layui-btn" onclick="javascript:print();" value="打印" />

引入js:

<script type="text/javascript" src="js/lodop/LodopFuncs.js"></script>
<script type="text/javascript" src="js/lodop/LodopPrint.js"></script>

执行方法:

function print() {
var data = $("#data").val();//获取后台传输过来的data值(此处不罗列后台代码)
if (data) {
PrintEntryOrder(JSON.parse(data));
}
}

打印设置完成!接下来打印试试!

前端使用lodop插件进行打印设置的更多相关文章

  1. 前端使用lodop如何获取打印状态

    前面已经说过,如何简单使用lodop了,今天说一下如何获得lodop的打印状态? 在教程里面找了半天,摸索出来了一套. template: <!-- 实验代码 --> <div> ...

  2. LODOP插件的IE浏览器的安全设置

    LodopFuncs.js里的判断默认是混合部署,IE等支持np插件的浏览器会走lodop插件方式,但是IE的安全设置可能会阻挡lodop插件,可点击允许或修改IE浏览器的安全设置让Lodop每次都能 ...

  3. LODOP不同电脑打印效果不同排查

    1.位置不同,偏移问题.详细的相关偏移问题的博文:LODOP不同打印机出现偏移问题 2.样式问题. 本机浏览器解析样式不同 ,相关超文本样式博文:Lodop打印控件传入css样式.看是否传入正确样式 ...

  4. openerp模块收藏 基于Lodop的报表打印模块(转载)

    基于Lodop的报表打印模块 原文:http://shine-it.net/index.php/topic,7397.0.html 前段时间写了个小模块,来解决OE中报表打印不方便的问题.借鉴了 @b ...

  5. WordPress 前端投稿/编辑插件 DJD Site Post(支持游客和已注册用户)

    转自:http://www.wpdaxue.com/front-end-publishing.html 说到前端用户投稿,倡萌之前推荐过3个不错的插件: WordPress匿名投稿插件:DX-Cont ...

  6. CDN公共库、前端开发常用插件一览表(VendorPluginLib)

    =======================================================================================前端CDN公共库===== ...

  7. JS前端图形化插件之利器Gojs组件(php中文网)

    JS前端图形化插件之利器Gojs组件(php中文网) 一.总结 一句话总结:php中文网我可以好好走一波 二.JS前端图形化插件之利器Gojs组件 参考: JS前端图形化插件之利器Gojs组件-js教 ...

  8. ArcGIS地图打印设置

    1.需求:客户自己开发的Engine程序,调用的是LayoutControl,需要连接大型绘图仪进行出图. 业务流程是先框选要打印的地图范围,该范围是自定义大小,框选完成之后进行预览,然后选择打印输出 ...

  9. [BS-06] 设置release发布时NSLog不打印设置

    设置release发布时NSLog不打印设置 前提:在XCode做开发调试时往往需要打印一些调试信息做debug用,大家知道当打印信息的地方多了之后在模拟器上跑可能不会有什么问题,因为模拟器用的是电脑 ...

随机推荐

  1. svn checkout 单个文件

    $ svn co --depth=empty file:///usr/local/svn/calc calc_new $ cd calc_new $ svn up readme.txt 其中,calc ...

  2. React之 redux 的简单介绍及使用

    1.为什么使用redux?在小型react项目的开发中 ,view(视图层)中的数据模型(即数据),可以存放在组件中的 state 对象,换句话说页面中的动态数据存放在 state 中. 但对于开发大 ...

  3. C语言打印图形

    //输出图形 * * * * * * * * * * * * * * * * * * * * * * * * * //每行5个* void test1(){ //    外层负责行,外层执行一次,内层 ...

  4. CF 13E Holes

    Holes 题意:现在有一排洞,每个洞有一个弹力,能弹到ai之后的洞,球会弹到这个排的外面,现在有2个操作,0 a b 将第a个洞的弹力设为b, 1 a 将球放入第a个洞,求输出进洞的次数 和 弹出这 ...

  5. 杭电多校第十场 hdu6434 Count 欧拉函数打表 快速打表模板

    Problem I. Count Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Other ...

  6. codeforces 798 C. Mike and gcd problem(贪心+思维+数论)

    题目链接:http://codeforces.com/contest/798/problem/C 题意:给出一串数字,问如果这串数字的gcd大于1,如果不是那么有这样的操作,删除ai, ai + 1 ...

  7. 拿 C# 搞函数式编程 - 1

    最近闲下来了,准备出一个 C# 搞 FP 的合集.本合集所有代码均以 C# 8 为示例. 可能你说,为什么要这么做呢?回答:为了好玩.另外,意义党们请 gun cu ke! C# 有委托,而且有 Fu ...

  8. KubeSphere CI/CD+GitLab+Harbor将Spring Boot项目部署至Kubernetes

    上一篇文章分享了如何在 KubeSphere 对公共的代码仓库 GitHub 和镜像仓库 DockerHub 创建流水线,本文将继续使用 KubeSphere,基于 Harbor 和 GitLab 创 ...

  9. 2018 Multi-University Training Contest 3(部分题解)

    Problem F. Grab The Tree Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 524288/524288 K (Ja ...

  10. js 大量数据优化,通用方法

    当页面渲染太多标签时,会出现卡顿的,典型就是类似table数据太多时,非常卡顿.如果选择分页,没必要讨论,这儿只讨论采用滚动的情况.解决思路很简单,就是页面不展示出来的元素,从页面上删除掉,最难点在于 ...