最近在研究pos机打印,找了几个版本的...保存下来供学习研究。
对pos机打印无非就是向打印机端口发送相应的数据,一般情况下都以文件流的形式来处理。
一种:是FileStream fs = new FileStream(iHandle, FileAccess.ReadWrite);
iHandle为IntPtr类型,不过这种是不安全的,是过时的,还有一种是iHandle为safeFileHandle类型。下面分别为相对应的代码。
下面这是第一种的打印部分代码:
下面这是第二种的打印部分代码:
方法调用:
切纸:
string instruction = null;
instruction = Convert.ToChar(27) + instruction + Convert.ToChar(100) + instruction + Convert.ToChar(0);
sw.WriteLine(instruction);
在输出结束加上该代码就可以完成打印完切纸功能。
还有就是打印对齐格式的设置问题,发现在打印时汉字,数字,字母和空格所占的纸张长度是不一样的,要想得到很美观整齐的打印效果还需量身而做,暂时还没发现什么好的解决方法,若有好方法的还望指教!