如果有两对空span,第一对里面是空格,第二对里面是文字,在这两对span标签之间的文字会消失。
<span> </span>文字<span>文字</span>类似这样的格式
可能底层ie浏览器的解析有关,由于Lodop借助的是windows底层的引擎进行解析,lodop本身不自带浏览器引擎(lodop和c-lodop都是轻量级,两三兆以内的小东西),所以受引擎解析的而影响,可以尽量避免这种格式的出现,由于一些软件样式都是自动生成的,有许多不需要的样式和标签,可酌情处理一下传来的样式。
或换用ADD_PIRNT_HTML(超文本的图形模式)试试,这种类似截图,能更好的还原超文本的样式,适合精度高的打印机,精度低的打印机可能会不太清楚。
测试代码:
<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> <div id="a"> <span>2)<span> </span></span>文字<span>:</span>这是一段测试文字</p> <!--:前面的“文字”消失了--> </div> <div id="b"> <span></span>文字测试1<span></span> <!--两对空span,之间的“文字测试1”没有消失--> </div> <div id="c"> <span> </span>文字测试2<span></span> <!--两对span,第一对span标签里是空格 第二对里是空的,之间的“文字3”没有消失--> </div> <div id="d"> <span>前面的</span>文字3<span>文字测试3的结果</span> <!--两对span,第一对span标签里有文字;第二对里有文字,之间的“文字3”没有消失了--> </div> <div id="e"> <span> </span>文字4<span>文字测试4的结果</span> <!--两对span,第一对span标签里是空格 第二对里有内容,之间的“文字3”消失了--> </div> <a href="javascript:prn1_preview()">打印预览</a> <script language="javascript" type="text/javascript"> var LODOP; //声明为全局变量 function prn1_preview() { LODOP=getLodop(); LODOP.PRINT_INIT(""); LODOP.ADD_PRINT_HTM(10,10,410,30,document.getElementById("a").innerHTML); LODOP.ADD_PRINT_HTM(52,26,410,30,document.getElementById("b").innerHTML); LODOP.ADD_PRINT_HTM(102,24,410,30,document.getElementById("c").innerHTML); LODOP.ADD_PRINT_HTM(152,24,410,30,document.getElementById("d").innerHTML); LODOP.ADD_PRINT_HTM(210,24,410,30,document.getElementById("e").innerHTML); LODOP.PRINT_DESIGN(); }; </script> </body>
图示: