使用RAW / LPR或IPP将PDF /图像打印到网络打印机

时间:2015-10-09 16:42:53

标签: c# pdf printing

我希望在网络打印机(Brother 720nw)上打印图像或pdf(代表标签)。有没有办法使用任何低级打印协议(如RAW / LPR或IPP)打印格式良好的图像/ pdf?

我从http://www.codeproject.com/Articles/12677/An-LPR-client-in-C尝试了LPR客户端。但是,它只打印纯ASCII到打印机。 我也尝试读取文件的字节并通过RAW端口(9100)将其发送到打印机,它也会产生相同的ASCII文本。

我是否需要以某种方式格式化文档,以便打印机可以正确打印?

以下是使用RAW协议(9100)的代码:

    private async static void PrintTest()
    {
        try
        {
            StreamSocket socket = new StreamSocket();
            await socket.ConnectAsync(new HostName("192.168.15.7"), "9100"); // epson
            byte[] fileBytes = await readImage();
            DataWriter writer = new DataWriter(socket.OutputStream);
            writer.WriteBytes(fileBytes);
            await writer.StoreAsync();
            await writer.FlushAsync();

            writer.Dispose();
            socket.Dispose();
        } catch (Exception e)
        {
        }
    }

1 个答案:

答案 0 :(得分:0)

您真的应该检查打印机的规格。通常可以通过IPP directly send and print PDF-Files或图像到支持它的打印机。您的打印机似乎不支持PDF或IPP。

答案:您需要以打印机的专用格式格式化文档。