LODOP用ADD_PRINT_IMAGE语句缩放打印图片

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>

图示:

上面这个图没有放第一个方法里,不加任何缩放的图,最后放一下,图片较大的时候,不加缩放,会截取图片部分,超出纸张的不会显示。

原文地址:https://www.cnblogs.com/huaxie/p/10255546.html