日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用lodop实现web精确套打

發布時間:2024/1/1 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用lodop实现web精确套打 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

明確需求
已存在刊印好的小冊子,需要將導入的數據對號入座的打印到小冊子上。
實現方式
首先,將小冊子中需要的數據獲取出來。
其次,打印數據到小冊子上。

控件下載與安裝

LODOP官網
1. 通過官網中演示可以滿足各種功能需求 各種demo
2. 下載可以下載對應的安裝版本。控件下載

套打應用實踐

打印設計(純文本)

  • 項目添加設計入口
  • <a class="btn btn-info" onclick="CreatePrintPage();LODOP.PREVIEW();" >打印預覽</a> <a class="btn btn-info" onclick="CreatePrintPage();LODOP.PRINT_DESIGN();">打印設計</a> //聲明全局變量 var LODOP; function CreatePrintPage() {LODOP=getLodop();LODOP.PRINT_INIT("套打模板設計"); }
  • 模板設計
  • 安裝控件后,通過打印設計入口,打開設計模板如下圖:


    (1)裝載背景圖
    (2)調整背景圖
    因是套打,選擇第三項,設置高度寬度為冊子實際高度和寬度,點擊確定。

    (3)添加文本項,可以調整高度字體,位置等基本屬性。

    可以通過選中文本框,對文本框屬性進行編輯,如下:

    (4) 生成偽代碼

    LODOP.PRINT_INIT("套打模板設計"); LODOP.ADD_PRINT_SETUP_BKIMG("C:\\Users\\ebonyzhang\\Desktop\\222222222.jpg"); LODOP.ADD_PRINT_TEXT(158,146,250,25,"新加文本1"); LODOP.ADD_PRINT_TEXT(198,146,255,25,"新加文本2"); LODOP.ADD_PRINT_TEXT(235,146,290,25,"新加文本3"); LODOP.ADD_PRINT_TEXT(271,146,290,25,"新加文本4");

    至此,界面上的設計就完成了。

    獲取打印數據

    function toPrint(houseNo){var orgId = $("#orgId").val();var url = prefix + '/toPrint?orgId=' +orgId+ '&houseNo=' + houseNo;$.ajax({url:url,//地址dataType:'json',//數據類型type:'POST',//類型timeout:3000,//超時success:function(res,status){//請求成功if(res.code==0){//打印輸出并預覽createPrint(res.data);LODOP.PREVIEW();} }, error:function(XMLHttpRequest,textStatus,errorThrown){if(textStatus==='timeout'){setTimeout(function(){alert('重新請求');},3000);}}}) }

    套打數據匹配

    function createPrint(data){data = $.parseJSON(data);console.log(data);LODOP=getLodop(); LODOP.SET_SHOW_MODE("BKIMG_WIDTH","184.94mm");LODOP.SET_SHOW_MODE("BKIMG_HEIGHT","260.09mm");LODOP.ADD_PRINT_TEXT(158,146,250,25, data.represent.name);LODOP.SET_PRINT_STYLEA(0,"FontSize",11);//順時針旋轉90度LODOP.SET_PRINT_STYLEA(0,"AngleOfPageInside", -90);LODOP.ADD_PRINT_TEXT(198,146,255,25,data.represent.sex);LODOP.SET_PRINT_STYLEA(0,"FontSize",11);LODOP.ADD_PRINT_TEXT(235,146,290,25,data.represent.idcard);LODOP.SET_PRINT_STYLEA(0,"FontSize",11);LODOP.ADD_PRINT_TEXT(271,146,290,25, data.represent.address);LODOP.SET_PRINT_STYLEA(0,"FontSize",11);//下一頁LODOP.NewPageA();LODOP.ADD_PRINT_TEXT(375,146,290,25, data.represent.mark);...... }

    預覽并打印

    集成中的問題

  • 打印方向問題
    用戶放置冊子的方向以及打印輸出方向,以實際輸出方向為準。
  • 打印過程中的調整
    設計完成以及數據填充之后,打印到實際冊子上需要多次進行微調,相差數值根據實際紙張的高度和寬度與設置值換算下即可。
  • 其他補充學習

    指定打印方向

    LODOP.SET_PRINT_PAGESIZE(2, 0, 0, “A4”);
    第一個參數: 0–可通過打印機選擇縱向或橫向,1–鎖定為縱向打印,2—鎖定為橫向打印
    第二個參數0 打印紙張的寬度 為0 ,可自定義寬
    第三個參數0 打印紙張的高度 為 0 ,可自定義高
    第四個參數A4 指定用 A4 紙打印
    當寬度和高度都設為 0 的時候,才能指定用特定的紙型打印,如:A4 ,B5 等。

    橫向時的正向顯示

    LODOP.SET_SHOW_MODE(“LANDSCAPE_DEFROTATED”,1);

    設置旋轉角度值

    通過設置旋轉角度值進行控制打印方向:
    LODOP.SET_PRINT_STYLEA(1,“AngleOfPageInside”,角度值);
    –1 位置可以指定頁數使用 1代表是當前頁,2代表第二頁,0代表所有頁。

    超文本

    ADD_PRINT_HTM超文本的普通模式,輸出的是解析后的超文本,ADD_PRINT_HTML輸出的是超文本的圖形模式,能更好的輸出頁面樣式,但是不如普通模式清晰,ADD_PRINT_TABLE自動分頁不切行,等等,有各種語句用來輸出超文本,超文本解析需要瀏覽器引擎,因此可能造成不同客戶端效果有差異。

    以上

    總結

    以上是生活随笔為你收集整理的使用lodop实现web精确套打的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。