smartform四联纸跳页问题

纸:纸指的是物理世界中,你用来打印的纸张。我们打印一定会使用打印机,因此纸的概念也可以指的是操作打印机的PC的操作系统上的打印机设置中的纸张(打印机语境下的纸张)。
页:这里特指sap的事务码smartforms中创建的报表、表单or whatever。
smartform四联纸跳页问题
在sap的smartform打印表单的过程中,如果打印成A4纸,那么恭喜你,很规范的打印。如果使用针式打印机,打印出来的结果是四联纸的话(尺寸为24公分宽14公分高,每一张四联纸的概念是,四张一毛一样但是颜色不同的纸罗在一起,打印后,会出现你可以把这四联分别交给不同部门留存),很可能出现4种打印的错误:

  1. 方向错误,竖打变横打;
  2. 内容跳出纸张,打印不全;
  3. 连续打印多页四联纸的时候,跳页;(原本想打印3页,结果用了6张纸,奇数页有内容,偶数页是空白)
  4. 打印的内容不全;
    居然可能出现这么多错误?对,就是可能。

问题1:竖打变横打
如下图,在smartform中设置页的打印属性
smartform四联纸跳页问题
记住,在设计院、公司、工厂中,很少有横向打印的,绝大多数打印的结果都是,面向打印机(特别是针式打印机)阅读方向就是从上向下阅读,这就是纵向打印。

首先使用事务码smartforms绘制表单:样式、窗口、模板、文本、表格、循环,表行。
然后使用SE80编写report代码,调用表单,触发打印机的打印。
然后打印,这时候你可能会发现上述4个问题。
与PC直接连接的打印机设置
smartform四联纸跳页问题
smartform四联纸跳页问题
smartform四联纸跳页问题
smartform四联纸跳页问题
下面这张图是很关键的,按图索骥,选SAP的smartform所使用的纸张类型
smartform四联纸跳页问题

smartform四联纸跳页问题
smartform四联纸跳页问题
上图可见页的宽度13cm
纸的宽度我们选择的是windows默认的5.5英寸也就是13.97厘米
最终测试即使纸的宽度选择5英寸也就是12.7厘米也没有关系
那么为什么会跳页呢?
我觉得我自定义的尾页窗口的高度有关系,尾页中的模板有两行,每行5mm,也就是一共10mm
我最初将尾页窗口的高度设置为10mm
后来我修改了其高度为14mm
因为不能简单地认为5+5=10模板可能是有margin的
所以