aardio调用LODOP组件打印条码/吊牌

By 小强2233 at 2022-03-13 • 2人收藏 • 535人看过

虽然aardio已经封装了tsclib库,但是兼容性和标签排版可控性较差,

同时也无法用于一些杂牌的条码打印机。

这里推荐另外一种方法,通过aardio调用浏览器端的lodop组件进行打印。

Lodop是什么呢?他是一个web打印控件,支持所有的浏览器,兼容ie8!

lodop的打印功能已经非常强大,兼容性很好,也在带web端的图形界面,可以供用户使用。在aardio中执行js函数,调用lodop打印。


  1. 使用lodop打印控件需要在本地安装打印插件,根据本地系统,32位系统的安装 " install_lodop32.exe " ,
    如果是64位操作系统安装 " install_lodop64.exe " 首先在本地安装CLodop插件,官方下载http://www.lodop.net/download.html

  2.  打开aardio,新建工程,拖入一个自定义custom控件 

image.png


由于控件是不需要显示的,直接将其设置尺寸为0,0,并且隐藏。


工程目录下,新建文件夹,将html文件和Lodop的js文件放入。

image.png

在html文件中使用javascript配置Lodop参数。

具体参数解释请参考http://www.lodop.net/LodopDemo.html


LodopFuncs.js文件可以在官网下载http://www.lodop.net/faq/pp32.html


html文件代码如下,

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>打印预览</title>
    <script src='./LodopFuncs.js'></script>
    <object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0>
        <embed id="LODOP_EM" type="application/x-print-lodop" width=0 height=0></embed>
    </object>
</head>

<body>
    <a href="javascript:ppreview()"><b>打印预览</b></a>
    <script>
        var LODOP; //声明为全局变量  
        function ppreview(code, name) {
            LODOP = getLodop();

            LODOP.PRINT_INITA(0, 0, 378, 378, "");
            LODOP.SET_PRINT_PAGESIZE(0, 1000, 1000, "");
            LODOP.ADD_PRINT_TEXT(38, 69, 102, 31, name);
            LODOP.SET_PRINT_STYLEA(0, "FontSize", 19);
            LODOP.ADD_PRINT_TEXT(90, 69, 78, 16, "11");
            LODOP.ADD_PRINT_BARCODE(126, 61, 239, 130, "QRCode", code);
            LODOP.SET_PRINT_STYLEA(0, "FontSize", 14);
            LODOP.PREVIEW();

        };


    </script>

</body>

<!-- http://demo.sinoverse.cn/lodop_print/-->

</html>


可以给ppreview函数多设置几个参数,方便用aardio传参。



aardio代码:

import win.ui;
import web.form;
/*DSG{{*/
mainForm = win.form(text="aardio工程2";right=374;bottom=230)
mainForm.add(
button={cls="button";text="Button";left=95;top=35;right=215;bottom=82;z=2};
custom={cls="custom";text="自定义控件";left=23;top=21;right=56;bottom=55;hide=1;z=1}
)
/*}}*/
var mb = web.form(mainForm.custom);
//使用浏览器打开网页
mb.go("\page\1.html");
mainForm.button.oncommand = function(id,event){
mb.script.ppreview("111111111","姓名");
}
mainForm.show();
win.loopMessage();

使用mb.script执行js函数并且传参给js代码。


运行后,可弹出标签预览窗口。可以选择打印机打印。image.png





1 个回复 | 最后更新于 2022-03-13
2022-03-13   #1

感谢分享

登录后方可回帖

登 录
信息栏
公 告:

专注分享

谢绝纯提问

谢谢合作!
本站域名:HtmLayout.Cn
aardio可以快速开发上位机,本站主要记录了学习过程中遇到的问题和解决办法及aardio代码分享

这里主要专注于aardio学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.

Aardio 官方站:Aardio官方
Aardio最新功能:Aardio官方更新日志
本 站 主 站:Stm32cube中文网
Sciter中文在线文档Sciter在线学习文档
空间赞助:才仁机械
打赏本站
Loading...