zoukankan      html  css  js  c++  java
  • 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>

  • 相关阅读:
    #define中的特殊符号
    c++ windows下计时
    c++内存池
    u3d 场景资源打包
    Unity3d 动态加载材质方法
    Unity3D Shader基础教程
    Unity3D Shader入门指南(一)
    Unreal发展史
    阴影锥(shadow volume)原理与展望
    软硬RAID 和 不常见的RAID
  • 原文地址:https://www.cnblogs.com/huaxie/p/10064469.html
Copyright © 2011-2022 走看看