Lodop打印控件的应用步骤

内容分享2小时前发布
0 0 0

一、引入JS

二、获取Lodop对象

三、设置Lodop对象属性

四、定义打印设计和打印预览函数

五、button按钮调用函数

<!DOCTYPE html>
<htmllang="zh-CN">
<head>
    <metacharset="UTF-8">
    <metaname="viewport"content="width=device-width, initial-scale=1.0">
    <title>资产标识卡打印(C-Lodop)</title>

    <!-- 引入 C-Lodop 函数库 -->
    <scriptsrc="http://localhost:8000/CLodopfuncs.js"></script>

    <!-- 条形码和二维码库 -->
    <scriptth:src="@{/js/JsBarcode.all.min.js}"></script>
    <scriptth:src="@{/js/qrcode.min.js}"></script>

    <style>
        body {
            font-family'Microsoft YaHei', Arial, sans-serif;
            background-color#f4f4f4;
            padding20px;
            text-align: center;
        }

        .print-btn {
            padding10px20px;
            background-color#27ae60;
            color: white;
            border: none;
            border-radius6px;
            font-size14px;
            cursor: pointer;
            box-shadow02px5pxrgba(0,0,0,0.2);
        }

        .print-btn:hover {
            background-color#219955;
        }

        .info {
            margin20pxauto;
            max-width500px;
            text-align: left;
            line-height1.8;
            background#fff;
            padding15px;
            border-radius8px;
            box-shadow01px5pxrgba(0,0,0,0.1);
        }
    </style>
</head>
<body>

<h2>资产标识卡打印系统(C-Lodop)</h2>

<!-- 示例数据表单 -->
<divclass="info">
    <label>名称:
        <spanid="assetName"th:text="${assets.assetName} ?: '-'"></span>
     </label><br>
    <label>编号:
        <spanid="assetTag"th:text="${assets.assetTag} ?: '-'"></span>
    </label><br>
    <label>型号:
        <spanid="model"th:text="${assets.model} ?: '-'"></span>
    </label><br>
    <label>序列号:
        <spanid="serialNumber"th:text="${assets.serialNumber} ?: '-'"></span>
    </label><br>
    <label>部门:
        <spanid="department"th:each="dict:${@dict.getType('danweikeshi')}"
              th:if="${dict.dictValue == assets.departmentId}"   th:text="${dict.dictLabel}">
        </span>
    </label><br><br>
    <buttonclass="print-btn"onclick="Preview1()">️ 打印标签</button>
    <button  onclick="Design1()">打印设计</button>
</div>

<script>

    // ========== 获取 CLODOP 对象 ==========
    functiongetCLODOP() {
        letCLODOP=getCLodop();
        if (!CLODOP|| (typeofCLODOP.VERSION==="undefined")) {
            if (document.readyState==="complete") {
                alert("CLODOP未准备好,请稍后再试!");
            } else {
                setTimeout(getCLODOP, 100);
            }
            returnnull;
        }
        returnCLODOP;
    }


    // ========== 打印设计 ==========
    functionDesign1() {
        CreateAssetCard();       
        CLODOP.PRINT_DESIGN();
    };

    // ========== 打印预览 ==========
    functionPreview1() {
        CreateAssetCard();
        CLODOP.PREVIEW();
    }

    // ==========创建资产标识卡 ==========
    functionCreateAssetCard() {
       constCLODOP=getCLODOP();
        if (!CLODOP) return;

        constassetName=document.getElementById("assetName").textContent.trim() ||"-";
        constassetTag=document.getElementById("assetTag").textContent.trim() ||"-";
        constmodel=document.getElementById("model").textContent.trim() ||"-";
        constserialNumber=document.getElementById("serialNumber").textContent.trim() ||"-";
        constdepartment=document.getElementById("department").textContent.trim() ||"-";

        // --- 初始化 ---
        CLODOP.PRINT_INIT("标识卡");
        CLODOP.SET_PRINT_MODE("PRINT_NEXTPAGE"0);
        CLODOP.SET_PRINT_PAGESIZE(1"40mm""30mm""");

        // === 1. 标题:资产标识卡 ===
        CLODOP.ADD_PRINT_TEXT("2mm""1mm""38mm""6mm""资产标识卡");
        CLODOP.SET_PRINT_STYLEA(0,"FontSize"12);   // 字体大小
        CLODOP.SET_PRINT_STYLEA(0,"Bold"1);
        CLODOP.SET_PRINT_STYLEA(0,"Alignment"2);

        // === 2. 名称 ===
        CLODOP.ADD_PRINT_TEXT("8mm""1mm""38mm""5mm""名称:"+assetName);
        CLODOP.SET_PRINT_STYLEA(0,"FontSize"8);
        CLODOP.SET_PRINT_STYLEA(0,"Alignment"0);

        // === 3. 编号 ===
        CLODOP.ADD_PRINT_TEXT("12mm""1mm""38mm""5mm""编号:"+assetTag);
        CLODOP.SET_PRINT_STYLEA(0,"FontSize"9);
        CLODOP.SET_PRINT_STYLEA(0,"Alignment"0);
        CLODOP.SET_PRINT_STYLEA(0,"Bold"1);

        // === 4. 型号 ===
        CLODOP.ADD_PRINT_TEXT("16mm""1mm""38mm""5mm""型号:"+model);
        CLODOP.SET_PRINT_STYLEA(0,"FontSize"8);
        CLODOP.SET_PRINT_STYLEA(0,"Alignment"0);

        // === 5. 序列号 ===
        CLODOP.ADD_PRINT_TEXT("20mm""1mm""38mm""5mm""序列号:"+serialNumber);
        CLODOP.SET_PRINT_STYLEA(0,"FontSize"8);
        CLODOP.SET_PRINT_STYLEA(0,"Alignment"0);

        // === 6. 部门 ===
        CLODOP.ADD_PRINT_TEXT("24mm""1mm""38mm""5mm""部门:"+department);
        CLODOP.SET_PRINT_STYLEA(0,"FontSize"8);
        CLODOP.SET_PRINT_STYLEA(0,"Alignment"0);
        CLODOP.SET_PRINT_STYLEA(0,"LetterSpacing",-2);
    }
</script>
</body>
</html>

作为客户端的电脑,需要安装C-Lodop服务,并且能访问相关的端口,如8000

Lodop打印控件的应用步骤

© 版权声明

相关文章

暂无评论

none
暂无评论...