1
1楼 chengzhong1984 2009-3-4 18:38 在工作中碰到这样的问题
打印文件时需要控制针式打印机的字符大小 原本的程序(大约有几十万行)控制方法如下 用一个宏,FP16,这个宏是用fprintf在文件头输入控制码^[u1(让打印机使用压缩字体) 然后其他一堆程序,输入文件内容 再使用一个宏,FP24,这个宏也是使用fprintf在文件尾输入控制码^[u2(恢复原来的字体) 对于不需要压缩字体的文件,则正常输入文件 然后,调用系统命令 lp,打印上述生成的文件,打印命令的时候控制码被打印机识别 就可以自动在打印过程中变化字体的大小 但是现在碰到一个新的问题,因为买入了新的高速行式打印机,控制码改变了 FP24的控制码是1c 43 00 03(十六进制)于是使用lp的时候,lp碰到00的时候认为文件已经结束,于是这个控制码就无法执行,以至于打印了压缩字体后正常的文档也用压缩字体打印 我查了网上的资料,发现一般的控制方法是直接echo "\x1c\x43\x00\x03" > dev/lp0 上,这个办法的确可以用,但是问题就在于我要打印的文件很多,不可能手动控制大小 即使使用脚本,对于lp这样会维护一个队列的命令来说,也会造成错误, 所以我目前看到可以解决的方案是修改lp的源码,当他碰到1c 43 00 03时直接发送给打印 机 所以我想问一下哪里可以找到lp的源码以及运行原理等资料,多谢 2楼 emmoblin 2009-3-4 23:22 在linux要想知道哪个程序的源代码得查找lp是属于哪个包的。然后下载哪个包的源代码。
搜索墙@2009 www.pkwall.com all rights reserved QQ:276471788 [京ICP备09111534号]
声明:本站部分数据来源于网络,仅供参考,如有版权问题,请联系我们,我们将及时删除!转载本站请注明来源
| ||||||||||||||||||||||||||||||||||||||||