之前的博文介紹了把底色轉換成透明的:Lodop打印控件 打印透明圖問題、
那個是直接在img標簽里寫的TransColor,此外,也可以用set_print_stylea對單個圖片進行底色透明處理。
注意和之前博文中介紹的一樣,不是所有打印機都支持透明圖打印,此外還發現有些虛擬打印機也不支持,這個和打印機有關,需要實際測試下。
在打印機不支持該底色透明的樣式時,只能換其他方式,如前面鏈接的相關博文里的用合成圖,特別對於多張圖片疊加,需要上面的圖片透過看到下面的那種等,可以直接用合成圖。
或通過把圖章變成背景圖實現效果,之前的在html里的圖片作為背景圖,相關博文:Lodop打印控件不打印css背景圖怎么辦、
該文演示的不是html里的,而是單張圖片,和純文本之間的。這次測試了兩個,一個是做出來的實際是透明的圖,還有一個是白底的,img1是做出來的透明的,img2w是底色是白色的。
實際測試如果不加transcolor,這兩個都不會透明,就算是本身透明的透明圖也不會透明。
當所用的打印機都支持該透明效果時,可以用該語句,當不支持的時候,可參考里面的文字在后方輸出,相當於圖章當成底圖,也算是一種蓋章效果,文字層級關系,相關博文:Lodop調整打印項輸出順序 覆蓋與層級、
測試代碼:
<script language="javascript" src="LodopFuncs.js"></script> </head> <body> <img src='img1.png'><br> <a href="javascript:prn0_preview()">單張圖片的白色底透明TransColor</a><br> <script language="javascript" type="text/javascript"> var LODOP; //聲明為全局變量 function prn0_preview() {//TransColor的透明,有的打印機不支持,有的虛擬打印機也不支持 LODOP=getLodop(); LODOP.PRINT_INIT(""); LODOP.ADD_PRINT_TEXT(29,15,317,62,"圖片打印項之前的文本圖片打印項之前的文本圖片打印項之前的文本圖片打印項之前的文本圖片打印項之前的文本圖片打印項之前的文本"); LODOP.ADD_PRINT_IMAGE(0,0,"79.9mm","76.2mm","<img src='img1.png'>"); // LODOP.SET_PRINT_STYLEA(0,"TransColor","#FFFFFF"); LODOP.ADD_PRINT_TEXT(150,13,317,62,"圖片打印項之后的文本,之后之后之后之后之后之后之后之后之后之后之后之后之后之后之后之后之后之后之后之后之后之后之后"); LODOP.ADD_PRINT_TEXT(29,401,317,62,"圖片打印項之前的文本圖片打印項之前的文本圖片打印項之前的文本圖片打印項之前的文本圖片打印項之前的文本圖片打印項之前的文本"); LODOP.ADD_PRINT_IMAGE(0,386,"79.9mm","76.2mm","<img src='img1.png'>"); LODOP.SET_PRINT_STYLEA(0,"TransColor","#FFFFFF"); LODOP.ADD_PRINT_TEXT(150,399,317,62,"圖片打印項之后的文本,之后之后之后之后之后之后之后之后之后之后之后之后之后之后之后之后之后之后之后之后之后之后之后"); LODOP.PRINT_DESIGN(); }; </script>
圖示: