
我们在某些ECC系统中使用smartforms打印时,会发现有时候一个单元格里字符串一行没打印完就折行了,好像只要有“-”这种连字符就会发生这个问题,那如何才能解决这个问题呢?

1.首先,我们弄清楚打印输出的原理。
如上图所示,每一个字符的“宽度”加起来,小于等于这个单元格的“宽度”,就能放到一行上。
那么这里说到一个“宽度”,对于单元格而言,单元格的外在宽度会有不同的单位,比如:CM、MM、IN等,那么势必是要转换到内部的一个宽度标准上对吧

对于文字、符号的宽度,因为受到很多因素影响,比如:字体字号、打印机输出属性设置等,在此我们就不做解释字符宽度是怎么计算出来的。

但有一点还是需要说明,汉字在SAP里是一个字符位,但是输出是2个字符位。所以计算的时候,是需要先根据每个指针偏移来计算占的字符位,然后才乘以1个字符位的长度得到这个偏移位字符的宽度

本文探讨了在ECC系统中使用Smartforms打印时遇到的字符串折行问题,特别是涉及连字符如'-'的情况。问题的关键在于字符宽度计算,汉字在SAP中占用2个字符位。解决方案包括理解单元格宽度转换和字符宽度计算,并提供了一种通过调整字符位和单元格宽度来避免折行的方法。
最低0.47元/天 解锁文章
2685





