vb.net、Windows Mobile、蓝牙便携式打印机。如何打印图像?

vb.net、Windows Mobile、蓝牙便携式打印机。如何打印图像?,vb.net,printing,bluetooth,serial-port,windows-mobile,Vb.net,Printing,Bluetooth,Serial Port,Windows Mobile,我有一个带有蓝牙便携式收据打印机的windows mobile设备,我需要在收据上打印.PNG图像,但我找不到方法。 这是与打印机有关的代码 Dim p As System.IO.Ports.SerialPort Dim Port As String = "COM8" p = New System.IO.Ports.SerialPort(Port) p.WriteTimeout = 5000 p.ReadTimeout = 5000 p.Bau

我有一个带有蓝牙便携式收据打印机的windows mobile设备,我需要在收据上打印.PNG图像,但我找不到方法。 这是与打印机有关的代码

    Dim p As System.IO.Ports.SerialPort

    Dim Port As String = "COM8" 
    p = New System.IO.Ports.SerialPort(Port)
    p.WriteTimeout = 5000
    p.ReadTimeout = 5000
    p.BaudRate = 9600

    Try
        If Not p.IsOpen Then p.Open()
        'p.WriteLine(textToPrint)

    Catch ex As Exception
        MsgBox(ex.Message)

    Finally
        If p.IsOpen Then p.Close()
        p.Dispose()
    End Try
我有两个选择:

所以p.WriteLine()只写一个常规字符串

但是p.Write()有3个重载:

  • 第一个重载:p.Write(文本作为字符串)
  • 第二个重载:p.Write(缓冲区()作为字符,偏移量作为整数,计数作为整数)
  • 第三个重载:p.Write(缓冲区()作为字节,偏移量作为整数,计数作为整数)

我不知道如何打印图像,任何帮助都将不胜感激

我们也不知道。如果要使用串行端口连接,您需要参阅打印机的程序员参考手册。难道没有办法将图像转换为字符数组或字节或其他格式并打印结果吗?或者我是这样做的?是的,有,但你需要知道打印机希望数据的格式。它们都不同。打印机的型号代码是什么?它使用哪种打印机cmd语言?它可能使用ESC/P、ZPL、FingePrint或任何其他打印机cmd语言。首先,您需要将图像转换为黑白,然后发送打印机位图命令,然后使用字节缓冲区发送数据。好的,我下载了打印机的DLL并进行了设置,它具有以下打印功能:Write()和WriteFile(),但问题是我尝试了这两个功能,将图像传递给了WriteFile()但它仍然打印了很多随机字母,但没有图像,我还尝试将保存的bmp图像的输出缓冲区发送到Write(),但也是同样的问题。我错过什么了吗?图像对象是否有特殊格式?我在互联网上找不到任何与此相关的代码。。也许我找的不够多。。。回到搜索。。。哦,打印机是Intermec-PB3