文章背景:笔者在2018年初接触到lodop,??由于公司业务线调整,准备开发一款国际旅行入境手续的终端设备.起初,公司决定让Android工程师来实现它,后来评价无法实现。最后决定让前端工程师实现。接到任务后,一开始想用原生的JavaScript来实现。经过评估,我发现原生JavaScript不仅功能单一而且效率低下,一些复杂的场景无法实现。经过一系列的评估和分析,我最终选择了使用JavaScript扩展LODOP来实现它。写作目的:作者在使用LODOP的开发过程中没有相关的成型案例可以参考。您只能一遍又一遍地阅读文档。俗话说,一步一个脚印,写这篇文章的目的是帮助有相关开发需求的开发者有一个可以借鉴的案例。少踩坑,避免作者经历过的痛苦过程。项目介绍:笔者开发的这款设备主要集成了泰国、越南、新加坡、老挝、菲律宾、柬埔寨、日本、韩国、缅甸、摩洛哥、美国等国家入境手续的办理,以及打印护照照片和海外保险单等功能。场景分析:在开始场景分析之前,首先搭建开发环境。步骤如下:1.首先下载并安装LODOP2。安装相关打印机驱动3.将相关文件(CLodopfuncs.js||LodopFuncs.js)引入项目中我在lodop开发之旅中。如果不知道安装包和文件,请搜索LODOP官网场景一:我要打印泰国入境手续。泰国的入境证件包括入境卡和落地签证。落地签证需要一张2英寸的护照照片。这里涉及到一个订单同时启动2~3台打印机同时工作的情况。//实现打印的代码letLODOP;LODOP.PRINT_INIT("泰国入境表格");//打印机初始化LODOP.SET_PRINTER_INDEX(2);//通过[指定打印机](http://www.lodop.net/demolist/PrintSample7.html)Get)LODOP.SET_PRINT_MODE("PRINT_DEFAULTSOURCE",1);//控制打印机的纸张来源(自动、纸盘、手动等);LODOP.SET_PRINT_PAGESIZE(2,"","","A5");//指定打印机纸盒打印方向的纸张尺寸(A5为纸张类型,打印机可手动设置,纸盒可以通过设置打印机的纸张类型来指定)LODOP.SET_PRINT_MODE("CATCH_PRINT_STATUS",true);//状态捕获LODOP.SET_PRINT_MODE("RESELECT_PRINTER",true);//设置打印机是否可以重选。LODOP.SET_PRINT_MODE("RESELECT_PAGESIZE",true);//设置纸张是否可以重选。LODOP.ADD_PRINT_HTML();ThailandEntry(surname,name)//打印内容的方法LODOP.PRINT();//执行打印//代码实现打印内容的代码ThailandEntry(surname,name){LODOP=getLodop();LODOP.SET_PRINT_PAGESIZE(2,2100,2970,"");LODOP.SET_PRINT_MODE("PRINT_NOCOLLATE",1);//获取状态码的关键语句LODOP.ADD_PRINT_TEXT(274,309,80,16,surname);//打印内容及位置设置LODOP.SET_PRINT_STYLEA(0,"FontSize",12);//打印内容样式设置LODOP.ADD_PRINT_TEXT(305,329,120,16,name);LODOP.SET_PRINT_STYLEA(0,"FontSize",12);}ThailandEntry函数的代码可以通过打印落地签设计和入境卡代码直接生成。类似于打印机和纸箱的指定,照片与上面略有不同LODOP.SET_PRINT_PAGESIZE(1,1480,2100,"");//set设置纸张类型LODOP.SET_PRINTER_INDEX(1);//指定printerLODOP.SET_PRINT_MODE("CATCH_PRINT_STATUS",true);//状态捕获LODOP.SET_PRINT_MODE("RESELECT_PRINTER",true);//设置打印机是否可以重选。LODOP.SET_PRINT_MODE("RESELECT_PAGESIZE",true);//设置纸张是否可以重选。让ImageStr=$(".imagesFrame").html('
总结以上就是笔者想要分享的lodop的常见使用场景。空间有限。更多应用场景和Lodop功能,请参考lodop官网在线示例。