图片在百度的这个链接
如上图,这选项里,没有打印机和默认打印机,用超赢软件,能让pos小票打印机打印出内容来。用c#是怎么做的。是用打开端口的方法吗?见超赢软件里指定了串口的端口,请高手指教。

解决方案 »

  1.   

    有的打印机厂商会提供串口指令说明,如果有说明,使用SerialPort类进行串口读写。
      

  2.   

    没有的,是pos小票打印机,很多不同厂家的,但是他们都是用串口的
    百度里有图片http://zhidao.baidu.com/question/472330895.html?quesup2
      

  3.   

    pos小票打印机的牌子都很杂,唯一不变的是,他们都是用串口打印,能给点参考资料吗?
      

  4.   

    那你可以看看那个打印机是什么牌子,然后搜索一下网上有没有它的串口指令,不同厂家的指令也有可能支持标准的esc/pos指令。
    类似这样的指令
      

  5.   

    怎么把这个打印变成从串口发送的
     private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
            {
                int a = 96;
                e.Graphics.DrawString(r1, new Font("宋体", 10), Brushes.Black, 10, 8);
                e.Graphics.DrawString(" 日期:" + System.DateTime.Now.ToString(), new Font("宋体", 10), Brushes.Black, 0, 30);
                e.Graphics.DrawString("收银员:" + denglu.name + "  机号:" + r7, new Font("宋体", 10), Brushes.Black, 0, 52);
                e.Graphics.DrawString("-----------------------------", new Font("宋体", 10), Brushes.Black, 0, 63);
                e.Graphics.DrawString("商品名称   数量   单价   金额", new Font("宋体", 10), Brushes.Black, 0, 74);
                e.Graphics.DrawString("-----------------------------", new Font("宋体", 10), Brushes.Black, 0, 85);
                float uu = float.Parse(hangshu);
                for (int i = 0; i <uu ; i++)
                {                e.Graphics.DrawString(ListP[i].Name.Trim(), new Font("宋体", 10), Brushes.Black, 0, a);
                    e.Graphics.DrawString(ListP[i].Amount.Trim(), new Font("宋体", 10), Brushes.Black, 85, a + 15);
                    e.Graphics.DrawString(ListP[i].Price.Trim(), new Font("宋体", 10), Brushes.Black, 120, a + 15);
                    e.Graphics.DrawString(ListP[i].shifu.Trim(), new Font("宋体", 10), Brushes.Black, 170, a + 15);
                    a += 30;
                    string xinxi = denglu.name + "在收银模式下的结账的" + DateTime.Now.ToString() + "买出名字叫" + ListP[i].Name.Trim() + "数量为" + ListP[i].Amount.Trim()+",单价为" + ListP[i].Price.Trim() +",原价为"+ ListP[i].yuanjia .Trim ()+"的商品。";
                    StreamWriter sw = new StreamWriter(@"d:\system\log.dat", true);
                    sw.Write("\r\n" + xinxi);
                    sw.Close();            }
                e.Graphics.DrawString("-----------------------------", new Font("宋体", 10), Brushes.Black, 0, a);
                e.Graphics.DrawString("件数:"+jianshu , new Font("宋体", 10), Brushes.Black, 0, a + 10);
                e.Graphics.DrawString("金额:" +textBox2.Text .Trim (), new Font("宋体", 10), Brushes.Black, 60, a + 10);
                for (int i = 0; i < dataGridView1.RowCount; i++)
                {
                    e.Graphics.DrawString(dataGridView1 .Rows [i].Cells [0].Value.ToString ()+":" , new Font("宋体", 10), Brushes.Black, 0, a + 25);
                    e.Graphics.DrawString(""+dataGridView1.Rows[i].Cells[3].Value.ToString (), new Font("宋体", 10), Brushes.Black, 60, a + 25);
                    a += 15;
                }
                e.Graphics.DrawString("找回:" + textBox6.Text.Trim(), new Font("宋体", 10), Brushes.Black, 0, a + 30);
                e.Graphics.DrawString("-----------------------------", new Font("宋体", 10), Brushes.Black, 0, a+38);
                if (r2 != null)
                {
                    e.Graphics.DrawString(r2, new Font("宋体", 10), Brushes.Black, 0, a + 45);
                }
                if (r3 != null)
                {
                    e.Graphics.DrawString(r3, new Font("宋体", 10), Brushes.Black, 0, a + 60);
                }
                if (r4 != null)
                {
                    e.Graphics.DrawString(r4, new Font("宋体", 10), Brushes.Black, 0, a + 75);
                }
                if (r5 != null)
                {
                    e.Graphics.DrawString(r5, new Font("宋体", 10), Brushes.Black, 0, a + 90);
                }
                if (r6 != null)
                {
                    e.Graphics.DrawString(r6, new Font("宋体", 10), Brushes.Black, 0, a + 105);
                }        }