zoukankan      html  css  js  c++  java
  • lodop缩放图片到完全适合纸张

    本文测试如何缩放一个图片到完全适合纸张:可以用lodop语句缩放到合适尺寸,如果不是等比例尺寸,不可变形缩放不会占满纸张,设置可变形缩放,并用ADD_PRINT_IMAGE输出图片的url,测试可以占满纸张。(ADD_PRINT_IMAGE直接输出图片url地址,需要c-lodop4.0.8.8之后的版本,可以在lodop官网下载最新版)

    简短问答:
    1.图片占满纸张怎么设置?
    是想图片占满纸张吗,ADD_PRINT_IMAGE直接输出图片url地址,宽高设置为纸张,并设置可变形缩放测试下:
    例如:
    LODOP.ADD_PRINT_IMAGE(0,0,"210mm","296.99mm","http://www.c-lodop.com/demolist/PrintSample8.jpg");
    LODOP.SET_PRINT_STYLEA(0,"Stretch",1);//可变形缩放
    -----简短问答结束----

    测试代码及效果:(一张闪耀暖暖的图片,高度超出纸张,宽度不足纸张)
    1.ADD_PRINT_IMAGE输出带img标签的图片,宽高设置100%,不设置缩放。
    效果:超出纸张部分会截取,达不到纸张宽高的部分会留白。
    2.ADD_PRINT_IMAGE输出带img标签的图片,宽高设置单位mm为与纸张一致的具体值,设置不可变形缩放。
    效果:不会占满纸张,图片等比例缩放不变形
    3.ADD_PRINT_IMAGE输出带img标签的图片,宽高设置单位mm为与纸张一致的具体值,设置可变形缩放。
    效果:不会占满纸张,超文本图片解析有问题
    4.ADD_PRINT_IMAGE输出不带img标签的图片,宽高设置单位mm为与纸张一致的具体值,设置可变形缩放。
    效果:占满纸张。(该方式可占满纸张)
    5.不设置图片缩放,设置整页缩放
    效果:不会占满纸张。


    测试代码:

      <script language="javascript" src="LodopFuncs.js"></script>
      <title>缩放图片到完全适合纸张</title>
     </head>
     <body>
    <a href="javascript:prn1_preview()">缩放图片到完全合适纸张(几种方式结果)</a><br>
    <a href="javascript:prn2_preview()">整页缩放不会达到效果</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 src='http://m.qpic.cn/psc?/V51lroLS1qQxgW1RWGeT1PyucD3jZgcX/TmEUgtj9EK6.7V8ajmQrEOVshej6zoe4zJp9ojt7v6QVOh18kQcMi2EWv.kTfgYV1Ko2vUx88hhDtZBSS8l5Bni7OmiYYaJwX.tQXlwL0lE!/b&bo=0AJABgAAAAABF6Q!&rf=viewer_4'>");
            LODOP.NEWPAGEA();
            LODOP.ADD_PRINT_IMAGE(0,0,"210mm","297mm","<img src='http://m.qpic.cn/psc?/V51lroLS1qQxgW1RWGeT1PyucD3jZgcX/TmEUgtj9EK6.7V8ajmQrEOVshej6zoe4zJp9ojt7v6QVOh18kQcMi2EWv.kTfgYV1Ko2vUx88hhDtZBSS8l5Bni7OmiYYaJwX.tQXlwL0lE!/b&bo=0AJABgAAAAABF6Q!&rf=viewer_4'>");
            LODOP.SET_PRINT_STYLEA(0,"Stretch",2);//按原图比例(不变形)缩放模式
            LODOP.NEWPAGEA();
            LODOP.ADD_PRINT_IMAGE(0,0,"210mm","297mm","<img src='http://m.qpic.cn/psc?/V51lroLS1qQxgW1RWGeT1PyucD3jZgcX/TmEUgtj9EK6.7V8ajmQrEOVshej6zoe4zJp9ojt7v6QVOh18kQcMi2EWv.kTfgYV1Ko2vUx88hhDtZBSS8l5Bni7OmiYYaJwX.tQXlwL0lE!/b&bo=0AJABgAAAAABF6Q!&rf=viewer_4'>");//带img标签
            LODOP.SET_PRINT_STYLEA(0,"Stretch",1);//(可变形)扩展缩放模式
            LODOP.NEWPAGEA();
            LODOP.ADD_PRINT_IMAGE(0,0,"210mm","297mm","http://m.qpic.cn/psc?/V51lroLS1qQxgW1RWGeT1PyucD3jZgcX/TmEUgtj9EK6.7V8ajmQrEOVshej6zoe4zJp9ojt7v6QVOh18kQcMi2EWv.kTfgYV1Ko2vUx88hhDtZBSS8l5Bni7OmiYYaJwX.tQXlwL0lE!/b&bo=0AJABgAAAAABF6Q!&rf=viewer_4");//直接输出图片url地址,不带img标签
            LODOP.SET_PRINT_STYLEA(0,"Stretch",1);//(可变形)扩展缩放模式
            //LODOP.PRINT_DESIGN();
            LODOP.PREVIEW();    
        };
    function prn2_preview() {
            LODOP=getLodop(); 
            LODOP.PRINT_INIT("");
            LODOP.SET_PRINT_MODE("PRINT_PAGE_PERCENT","Full-Page");
            LODOP.ADD_PRINT_IMAGE(0,0,"210mm","297mm","http://m.qpic.cn/psc?/V51lroLS1qQxgW1RWGeT1PyucD3jZgcX/TmEUgtj9EK6.7V8ajmQrEOVshej6zoe4zJp9ojt7v6QVOh18kQcMi2EWv.kTfgYV1Ko2vUx88hhDtZBSS8l5Bni7OmiYYaJwX.tQXlwL0lE!/b&bo=0AJABgAAAAABF6Q!&rf=viewer_4");    
            //LODOP.PRINT_DESIGN();
            LODOP.PREVIEW();    
        };
    </script> 

    图示:

     

     

  • 相关阅读:
    【vue开发问题-解决方法】(六)axios报错问题,Cannot read property 'protocol' of undefined
    【vue开发问题-解决方法】(五)vue Element UI 日期选择器获取日期格式问题 t.getTime is not a function
    【vue开发问题-解决方法】(四)vue Element UI使用中.$scopedSlots.default is not a function 报错
    【vue开发问题-解决方法】(三)axios拦截器,post请求问题处理,异步请求封装
    【vue开发问题-解决方法】(二)element UI日期控件失效RangeError:Maximum call stack size exceeded
    【vue开发问题-解决方法】(一)在style中设置background-image时路径问题
    异常分析
    如何理解spring MVC
    解决项目不编译4大clean
    java中的生产者模式
  • 原文地址:https://www.cnblogs.com/huaxie/p/15540491.html
Copyright © 2011-2022 走看看