C# 通过LPT打印接口 打印二维码急。

开发语言:VS2008
打印机型号:EPSON TM-U220PB,LPT口
已使用QRCODE生成了二维码,Bitmap格式。
我想把二维码打印出来,通过LPT打印口。
在网上也找过,都说是二维码不可能直接打,需要转BYTE。
但具体怎么转,转完后已什么方式传给打印机打印?
急需代码,完整的代码。
谢谢大神!

这里又一个例子,不过是打印的条形码,可以参考一下
http://www.cnblogs.com/randyzhuwei/p/5216413.html

二维码其实就是图片,可以直接打印,你找C#打印图片的代码,直接可以用。

所谓不可以打,是说,用ESC/PS方式直接写端口不可以直接打,但是你安装好打印机驱动,通过调用windows的打印的话,不需要你去直接写端口的。

我用的打印机不需要安装驱动的,打印机是LPT口针式打印机。
我是可以通过LPT口打印字符串,但打印图片就不会弄了。因为我打印字符串的时候也是通过二进制打印的。
毕竟我要打印的是图片,不是字符串,求打印图片的代码。

可以通过第三方控件,直接调用打印方法就行,其他的都不用处理

我是可以通过LPT口打印字符串,但打印图片就不会弄了。因为我打印字符串的时候也是通过二进制打印的。
毕竟我要打印的是图片,不是字符串,求打印图片的代码。

并口打印的话直接调用windows驱动打印就好了,代码大概如下:

namespace PrintTest
{
//首先首先引入命名空间
using System.Drawing.Printing;
using System.Drawing;
using System.IO;

    public class WindowsDriverPrinter
    {       
                    Bitmap _bitmap;//当前打印的位图
                    float _xPosition;//打印的x坐标
                    float _yPosition;//打印的y坐标


                    public WindowsDriverPrinter(){

                    }

                    //接下来是打印图片函数
                    public void PrintImage(Bitmap bmp,float x,float y,string docName ="temp")
                    {
                                    _bitmap = bmp;
                                    _xPostion = x;
                                    _yPosition = y;

                                    PrintDocument printdoc = new PrintDocument();//创建PrintDocument对象
                                    printdoc.DocumentName = docName;//重命名打印文件
                                    printdoc.PrintController = new StandardPrintController();
                                    printdoc.PrintPage += new PrintPageEventHandler(PrintPageCallBack);//设置打印回调函数
                                    printdoc.Print();//进行打印
                    }

                    //回调函数进行真正的打印
                    private void PrintPageCallBack(object sender, PrintPageEventArgs e)
                    {
                                using (MemoryStream stream = new MemoryStream())
                                {
                                            _bitmap.Save(stream, System.Drawing.Imaging.ImageFormat.Bmp);//将位图保存到内存流
                                            Image img = Image.FromStream(ms);//将bitmap转化为Image对象
                                            e.Graphics.DrawImage(_image, _xPosition ,_yposition);//打印图片
                                }
                    }               
    }

    //最后是调用

    class Program{

                    void Main()
                    {
                                    Bitmap QRCodeBmp ;//假如这个是你获取的二维码bitmap对象
                                    WindowsDriverPrinter printer = new WindowsDriverPrinter();
                                    printer.PrintImage(QRCodeBmp,10f,10f);
                    }

    }

    //最后,如果需要打印文字的话其实和图片差不多,用 e.Graphics.DrawString()方法

二维码其实就是图片,可以直接打印,你找C#打印图片的代码,直接可以用。

所谓不可以打,是说,用ESC/PS方式直接写端口不可以直接打,但是你安装好打印机驱动,通过调用windows的打印的话,不需要你去直接写端口的

参考http://www.cnblogs.com/randyzhuwei/p/5216413.html此内容写完代码了。
打印出来的图片全是黑的,是不是得需要调整高度宽度?