c# 如何控制针式打印机走纸
我现在需要打印榜单,采用的是epson lq300k,由于榜单大小问题,所以打印前最好让其进行一次退纸进纸过程,这样打印出来的位置就比较好,可是在程序中如何向打印机发送指令让它操作呢?
我找了一个星期的论坛了 大概发现是采用esc指令方式,于是采用api函数,
const int OPEN_EXISTING = 3;
         string prnPort = "LPT1";
         [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
         private static extern IntPtr CreateFile(string lpFileName,
         int dwDesiredAccess,
         int dwShareMode,
         int lpSecurityAttributes,
         int dwCreationDisposition,
         int dwFlagsAndAttributes,
         int hTemplateFile);
         public POSPrinter(string prnPort)
         {
             this.prnPort = prnPort;//打印机端口    
         }
         public string PrintLine(string str)
         {
             IntPtr iHandle = CreateFile(prnPort, 0x40000000, 0, 0, OPEN_EXISTING, 0, 0);
             if (iHandle.ToInt32() == -1)
             {
                 FileStream fs = new FileStream(iHandle, FileAccess.ReadWrite);
                 StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.Default);   //写数据    
                   sw.write("ESC @");
                 sw.Write("ESC J");
                 sw.Close();
                 fs.Close();
                 return "";
             }
可是打印机没有任何反应,哪怕我是打印普通的问题不是esc指令,打印机也没有反应,请问问题出在哪里?是我发送的问题吗?还是我连接出了问题?
第二个问题:esc指令中 进纸 退纸的指令是什么?
恳求高手了,请写出较详细的代码。
------解决方案--------------------
指令我又不过在家里,下班后再给你看看把,你给我留的邮箱我发给你好了
------解决方案--------------------
C#的代码我没有哦,但是我知道控制打印机和串口发数据是一样的,只是控制打印机发的是打印机的指令,如果你会用C#写串口,你也就会控制打印机了,最主要是知道这些指令怎么用就行了,呵呵...