• 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>

  • 相关阅读:
    linux更换软件镜像地址的方法(使用阿里云软件镜像,适用所有系统)
    MPLAB X安装,PIC单片机开发环境的搭建记录。
    Ubuntu安装配置SSH远程访问和传输文件
    AttributeError: module 'serial' has no attribute 'Serial'
    python使用pip时出现一大堆红色错误,然后最后一句是Read timed out
    关于如何用离散的方法求两个交流信号之间的相位差
    解决,MPLAB X汇编代码包含自己写的头文件然后编译错误的问题。
    docker环境下gitlab的自动双机备份(直接备份到window的共享目录下)
    python二八十六进制的相互转换
    【博弈论】基本假设
  • 原文地址:https://www.cnblogs.com/huaxie/p/10064469.html
Copyright © 2020-2023  润新知