LODOP中的的打印項,有超文本也有純文本,超文本指的是用html語言,html里的標簽為值的打印項,該種打印項會經過瀏覽器解析,LODOP本身不帶解析超文本的引擎,調用的windows底層引擎,與ie瀏覽器一致,由於ie版本的不同,會導致解析出來的內容也可能有不同。
如果是套打或輸出小票,輸出內容比較簡單,一般建議使用純文本方式,這種不受瀏覽器引擎的影響。
ADD_PRINT_TEXT輸出的為純文本打印項,ADD_PRINT_HTM、ADD_PRINT_TABLE等輸出的為超文本打印項。
純文本:
ADD_PRINT_TEXT+ADD_PRINT_SHAPE等,通過LODOP語句輸出文本,圖形,線條,二維碼條碼等,這種方式不受瀏覽器引擎解析的影響。套打,小票打印,標簽打印,批量打印,用這種是很好的。
超文本:
ADD_PRINT_HTM超文本的普通模式,輸出的是解析后的超文本,ADD_PRINT_HTML輸出的是超文本的圖形模式,能更好的輸出頁面樣式,但是不如普通模式清晰,ADD_PRINT_TABLE自動分頁不切行,等等,有各種語句用來輸出超文本,超文本解析需要瀏覽器引擎,因此可能造成不同客戶端效果有差異。
測試代碼:
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>WEB打印控件LODOP</title> <script language="javascript" src="LodopFuncs.js"></script> </head> <body> <a href="javascript:prn1_preview()">打印預覽純文本和超文本樣式</a><br> <a href="javascript:prn2_preview()">打印預覽純文本和超文本換行</a><br> <script language="javascript" type="text/javascript"> var LODOP; //聲明為全局變量 function prn1_preview() { LODOP=getLodop(); var strBodyStyle="<style>body{color:blue;}</style>";//超文本的樣式來自於css樣式 LODOP.PRINT_INIT(""); LODOP.ADD_PRINT_TEXT(4,62,150,40,"文字(純文本)0無樣式"); LODOP.SET_PRINT_STYLE("Underline",1);//對后面兩個text加下划線 LODOP.ADD_PRINT_HTM(47,60,150,28,strBodyStyle+"<body>文字(超文本)</body>"); LODOP.ADD_PRINT_TEXT(99,60,150,40,"文字(純文本)1"); LODOP.SET_PRINT_STYLEA(0,"FontName","楷體");//對純文本1設置為楷體 LODOP.SET_PRINT_STYLEA(0,"FontSize",11);//對純文本1設置為字體大小11 LODOP.ADD_PRINT_TEXT(155,62,150,40,"文字(純文本)2"); //LODOP.PRINT_DESIGN(); LODOP.PREVIEW(); }; function prn2_preview() { LODOP=getLodop(); LODOP.PRINT_INIT(""); LODOP.ADD_PRINT_TEXT(5,62,150,40,"文字純文本換行"); LODOP.ADD_PRINT_TEXT(50,62,150,40,"文字純文本\n換行");//純文本換行 LODOP.ADD_PRINT_HTM(100,60,150,48,"<body>文字超文本換行</body>"); LODOP.ADD_PRINT_HTM(150,60,150,48,"<body>文字超文本<br>換行</body>");//超文本換行 //LODOP.PRINT_DESIGN(); LODOP.PREVIEW(); }; </script> </body>
圖示:
如圖,SET_PRINT_STYLE和SET_PRINT_STYLEA,只針對純文本有效果,SET_PRINT_STYLE添加再打印項之前,對之后的純文本都有影響,SET_PRINT_STYLEA是設置單個純文本的。
超文本只能用css樣式控制。
同理,純文本有純文本的換行方式,超文本有超文本的,br標簽這種html語言,只能針對超文本,對純文本無效。
單位:LODOP中定位打印項用的px是絕對單位,和超文本css樣式中的px相對單位是不同的。
如果是超文本中的css樣式控制的字體大小等,如果用的px,由於是相對單位,會受分辨率的影響。
什么是超文本中css樣式中的px,就是html代碼中的style樣式,也就是html語言寫的那種,那種是經過瀏覽器解析的,會受分辨率的影響。
雖然之前的博文都有說超文本,純文本,但是沒有介紹過兩種打印項,因此為避免混淆,這里說明一下。
超文本和純文本的區別,就是純文本是LODOP直接輸出的,而超文本則是html語言寫的。