• LODOOP中的各种边距 打印项、整体偏移、可打区域、内部边距


    Lodop中的打印项内容位置定位,除了打印项本身的top,left值,也会受其他设定或打印机的影响。
    打印开发,先用虚拟打印机测试出正确结果,然后客户端用打印维护微调
    常见问题:
    1.设置打印项相对于纸张居中,内容没有相对纸张居中。
    打印项居中,但是如果打印项内容本身有内容边距,里面的内容没有相对于自身的边距居中,自然内容也不会在纸张中居中。
    2.打印项位置不对,不是设置的top,left值,打印内容被切去了,显示不出来,打印预览有虚线,虚线外的内容是空白
    虚线是打印机的可打区域,是物理的可打区域,和打印机有关,可打区域外是不打印的。
    (默认打印项定位是以可打区域为基点,设置以纸张为基点可查看本博客另一篇博文:Lodop打印控件打印机可打区域的影响 设置纸张边缘为基点)

    影响打印项在纸张中受到的可能边距:
    1.打印项本身的top,left值。
    2.INITA初始化语句第一、二参数的偏移值。.
    3.打印预览中虚线引起的边距(打印机的可打区域的影响)

    打印项内容受到的可能边距:
    1.打印项本身的top,left值。
    2.INITA初始化语句第一、二参数的偏移值。
    3.打印预览中虚线引起的边距(打印机的可打区域的影响)
    4.打印项内部的边距(内容的边距,如超文本中的css样式等)

    各种边距解释:
    1.打印项设置的边距
    添加Lodop各种打印项(例如ADD_PRINT_HTM(Top,Left,Width,Height,strHtmlContent)),参数中:
    top是打印项在纸张内的上边距,打印项在纸张内的上边距,也就是在每张纸的上下起点位置。
    left是打印项在纸张内的左边距,也就是在每张纸的左右起点位置
    2.整体偏移导致的边距
    INITA初始化语句第一、二参数的偏移值,所有打印内容针对纸张进行偏移,偏移上边距或左边距。
    3.打印机可打区域引起的边距
    和打印机有关,预览里以虚线的形式存在,虚线外是打印不出来的。默认是以可打区域为边缘,可以用语句设置以纸张边缘为基点进行设计。
    4.打印项内部的边距
    例如超文本自带的本身里的边距,条码等设置打印项多宽,可能里面实际内容没有多宽,因为受条码竖线合计值的影响。

    PRINT_INITA的三、四参数与纸张无关,这个只是设置打印设计可视化编辑区域的,PRINT_INITA的三、四参数 打印设计可视化编辑区域(与纸张无关)
    SET_PRINT_PAGESIZE的二、三参数 设置自定义纸张大小,第四参数纸张名称。

    出现边距或位置不对,可先用虚拟打印机测试一下。
    如果虚拟打印机不正常,可排查代码问题。例如PRINT_INITA初始化语句第一、二参数不为0,打印项内部边距。
    如果虚拟打印机正常,在预览里查看一下,真实打印机自定义纸张是否生效,是否有打印机可打区域的影响以及打印机或打印机驱动问题。


    用虚拟打印机测试正常,用真实打印机预览也没有空白边距,就是走纸的时候位置不对,有空白边距:
    正常情况下预览是打印机的反显,打印机如果预览正常,打印不正常,只能和打印机驱动,或这打印机
    实体打印机是否在初始位置输出,或打印机初始走纸位置不正确,联系打印机厂商确认一下。

    如果确认真实打印机预览正常,打印不正常,重装打印机驱动试试,如果重装驱动没有西效果。
    实体打印机是否在初始位置输出,或打印机初始走纸位置不正确,联系打印机厂商确认一下。

  • 相关阅读:
    nginx+upsync+consul 构建动态nginx配置系统
    服务容错保护断路器Hystrix之六:缓存功能的使用
    consul之:ACL配置使用
    Consul之:服务健康监测
    Consul实践指导-DNS接口
    Spring 整合Mybatis实例
    ORACLE SEQUENCE 具体解释
    python高速排序
    降阶法计算行列式方法有个地方有Bug(原文也已更正,此为更正后部分)
    MyBatis在Oracle中插入数据并返回主键的问题解决
  • 原文地址:https://www.cnblogs.com/huaxie/p/9828739.html
Copyright © 2020-2023  润新知