使用lodop实现web精确套打
明確需求
已存在刊印好的小冊子,需要將導入的數據對號入座的打印到小冊子上。
實現方式
首先,將小冊子中需要的數據獲取出來。
其次,打印數據到小冊子上。
控件下載與安裝
LODOP官網
1. 通過官網中演示可以滿足各種功能需求 各種demo
2. 下載可以下載對應的安裝版本。控件下載
套打應用實踐
打印設計(純文本)
安裝控件后,通過打印設計入口,打開設計模板如下圖:
(1)裝載背景圖
(2)調整背景圖
因是套打,選擇第三項,設置高度寬度為冊子實際高度和寬度,點擊確定。
(3)添加文本項,可以調整高度字體,位置等基本屬性。
可以通過選中文本框,對文本框屬性進行編輯,如下:
(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精确套打的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JSP禁用迅雷等下载工具下载文件,强制使
- 下一篇: 幸福的“小彩蛋”