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,打印项内部边距。
如果虚拟打印机正常,在预览里查看一下,真实打印机自定义纸张是否生效,是否有打印机可打区域的影响以及打印机或打印机驱动问题。
用虚拟打印机测试正常,用真实打印机预览也没有空白边距,就是走纸的时候位置不对,有空白边距:
正常情况下预览是打印机的反显,打印机如果预览正常,打印不正常,只能和打印机驱动,或这打印机
实体打印机是否在初始位置输出,或打印机初始走纸位置不正确,联系打印机厂商确认一下。
如果确认真实打印机预览正常,打印不正常,重装打印机驱动试试,如果重装驱动没有西效果。
实体打印机是否在初始位置输出,或打印机初始走纸位置不正确,联系打印机厂商确认一下。