Lodop打印较大的超出纸张的图片

ADD_PRINT_IMAGE打印图片时,如果一个图片过大,超出纸张,默认超出部分是不显示的,也不会分页。
最近遇到有人利用ADD_PRINT_URL打印图片,说图片自动分了多页,因为这个方法一般是用来打印url网页的,所以我试验了一下用这个方法打印图片,结果图片超过高度确实自动分页了,应该说这个方法估计是把这个图片当作超文本来对待了。但是这不是标准的使用方法,如果只是打印图片,建议用ADD_PRINT_IMAGE,url用来输出网页,按照技术手册的标准用法。

如果图片超大,如果不缩放,不可能在一页里显示完全,但是不建议在img标签里缩放,可以在Lodop语句里缩放,可以采用可变形缩放,或不变形按原比例缩放两种方式,这样缩放更清晰。
例如:

LODOP.ADD_PRINT_IMAGE(0,0,600,600,"<img border='0' src='1.jpg' />");
LODOP.SET_PRINT_STYLEA(0,"Stretch",2);//按原图比例(不变形)缩放模式

这里的600,600就是Lodop的缩放,而img标签里不带width和height属性,就能保证传给Lodop的图片足够好

如图,测试了三种情况:
ADD_PRINT_IMAGE直接打印大图----结果是 宽高超出纸张的不打印
ADD_PRINT_URL直接打印大图-----结果是 高度超出纸张的分页了
ADD_PRINT_IMAGE打印缩放到纸张区域的大图-----结果能正常在纸张里显示

<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()">打印预览ADD_PRINT_IMAGE输出图片</a><br>
<a href="javascript:prn2_preview()">打印预<strong></strong>览ADD_PRINT_URL输出图片</a><br>
<a href="javascript:prn3_preview()">打印预览ADD_PRINT_IMAGE控制大小后输出图片</a><br>
<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 border='0' src='1.jpg' />");
        //正常输出图片的用法,图片过大,宽高超出纸张,不会自动分页
        LODOP.PRINT_DESIGN();
        //LODOP.PREVIEW();    
    };
    function prn2_preview() {
        LODOP=getLodop(); 
        LODOP.PRINT_INIT("");
        LODOP.ADD_PRINT_URL(0,0,"100%","100%","1.jpg");
        //用url输出图片,图片过大,超过高度自动分页
        LODOP.PRINT_DESIGN();
        //LODOP.PREVIEW();    
    };
    function prn3_preview() {
        LODOP=getLodop(); 
        LODOP.PRINT_INIT("");
        LODOP.ADD_PRINT_IMAGE(0,0,600,600,"<img border='0' src='1.jpg' />");
        LODOP.SET_PRINT_STYLEA(0,"Stretch",2);//按原图比例(不变形)缩放模式
        //用Lodop语句缩放大小后显示在一页里
        LODOP.PRINT_DESIGN();
        //LODOP.PREVIEW();    
    };
</script> 
</body>

 

转载于:https://www.cnblogs.com/huaxie/p/10064469.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值