LODOP提高输出图片质量的方法:
1.用ADD_PRINT_IMAGE语句打印图片,而且img元素的width和height属性要去掉或者设置足够大,这样就可以让下载引擎传给Lodop图片质量足够好;
2.如果要控制图片输出大小,要用SET_PRINT_STYLEA(0,"Stretch",1)语句控制最终输出大小
也就是不要在img标签里设置width和height,或设置足够大。控制大小直接用ADD_PRINT_IMAGE的宽高,然后加上可变形或不可变形缩放语句,进行控制大小。
预览是图形模式,用xps或pdf虚拟打印机实际输出查看效果。
预览是图形模式,缩略图,可能是实际打印之间存在差异,例如图片预览查看有问题,但是实际打印出来是没问题的,可以用虚拟打印机查看下实际打印的结果。
LODOP用ADD_PRINT_IMAGE语句缩放打印图片,预览质量看起来不正常。
Lodop缩放预览图片看起来有问题。
Lodop实际打印出来效果是好的。
LODOP.SET_PRINT_STYLEA(0,"Stretch",1);//(可变形)扩展缩放模式
LODOP.SET_PRINT_STYLEA(0,"Stretch",2);//(不可变形)扩展缩放模式
测试代码:
第一个测试方法里,是输出原图,由于原图较大,所以会显示部分,其他部分不显示,裁剪出来的。
<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> <a href="javascript:prn3_preview()">打印预览 不可变形缩放</a> <script language="javascript" type="text/javascript"> var LODOP; //声明为全局变量 function prn1_preview() { LODOP=getLodop(); LODOP.PRINT_INIT(""); LODOP.ADD_PRINT_IMAGE(0,0,"100%","100%","<img src='1.jpg'>"); LODOP.PRINT_DESIGN(); //LODOP.PREVIEW(); }; function prn2_preview() { LODOP=getLodop(); LODOP.PRINT_INIT(""); LODOP.ADD_PRINT_IMAGE(0,0,500,500,"<img src='1.jpg'>"); LODOP.SET_PRINT_STYLEA(0,"Stretch",1);//(可变形)扩展缩放模式 LODOP.PRINT_DESIGN(); //LODOP.PREVIEW(); }; function prn3_preview() { LODOP=getLodop(); LODOP.PRINT_INIT(""); LODOP.ADD_PRINT_IMAGE(0,0,500,500,"<img src='1.jpg'>"); LODOP.SET_PRINT_STYLEA(0,"Stretch",2);//(不可变形)扩展缩放模式 LODOP.PRINT_DESIGN(); //LODOP.PREVIEW(); }; </script> </body>
图示:
上面这个图没有放第一个方法里,不加任何缩放的图,最后放一下,图片较大的时候,不加缩放,会截取图片部分,超出纸张的不会显示。