|
原帖由 dany1969 于 2009-6-5 09:24 发表 ![]()
昨天联系BASIS的同事新建立一个CNSAPWIN的设备类型命名为LP03,发现列宽的显示有问题。同样的表单,在CNSAPWIN下预览是正常的。在CNEPSON下预览,表格线很宽,内部的线有4,5毫米的宽度。
于是调整smartforms边框的宽度,调大调小,预览时表格线的宽度都为4毫米宽,没有改变。但是我调整表格线颜色是有反应的。
不知是设备类型没有配置好,还是它的用法有一些特殊?
科普一下打印机知识吧。
激光打印机都是用页面描述语言,使用page组织页面,你需要给出每个要打印输出的内容的横纵坐标,字体大小,甚至TTF字型信息。
针打大多使用某种打印机控制序列语言,其组织单位是行和字符,你只要告诉打印机再当前行第几个字符输出什么字体的什么字。
字体大小和字型信息,一般都是固化在打印机当中的。
具体到你表格线的应用,CNSAPWIN使用的是客户端的Windows Printer Driver。
CNEPSON,使用的是EPSON的ESC/PK控制命令,适用EPSON带K型号的针打,典型的是EPSON-1600K。
在针打上,你是不可以做很精细的调整,表格线对应的字模是确定的,宽度,行间距等都是不可精细控制的。
你也许会问,在Windows上打测试页或者Word文档可以做的很精细呀。那是因为EPSON的Windows Driver把你的内容在OS层面上转化为图片再传给打印机的。
同理,你用CNSAPWIN,选择EPSON打印机输出时,也是使用了Windows Printer Driver的上述功能(术语叫光栅化)。
这就是那些不了解打印机知识就喷SAP对针打支持不好的根本原因。
而CNEPSON,是不使用Windows Driver的光栅化功能的,他是由SAP的Spool Server已经将打印内容转化为ESC/PK序列了。
你可以看到在SPAD的Device Type管理中看到,CNEPSON的Printer Driver属性选择的是Do not use printer driver for ABAP list print
说回你的业务需求,如果打印的Form量很大,一般都是采用预印表格的方式,表格线都是预先印在打印纸上的。我们只要输出可变内容即可。
打印表格线,对针打是非常损耗打印头的操作,很容易造成断针,不宜大量使用
[ 本帖最后由 awarecan 于 2009-6-5 10:21 编辑 ] |
|