Я использую Fingerprint для загрузки, а затем для печати изображения в формате pcx.Передача изображения на принтер Intermec PM4i, а затем Печать
Step1 Загрузить изображение на принтер с помощью TCP-порт, я использую команду:
IMAGE LOAD "bigfoot.1",1746,""\r\n
принтер возвращается с сообщением "OK". И затем я отправляю байты данных bigfoot.1 на принтер, используя сокет.
Шаг 2 Печать изображения "bigfoot.1":
PRPOS 200,200
DIR 3
ALIGN 5
PRIMAGE "bigfoot.1"
PRINTFEED
RUN
Проблема возникает, принтер возвращается с сообщением "Изображение не найдено". Поэтому я придумываю возможность отказа от загрузки. Поэтому я открываю программное обеспечение PrintSet4 для проверки изображения, изображение уже существует в TMP.Odd !!! Наконец, я использовал PrintSet4 для замены приложения сокета для загрузки изображения. После добавления файла и применения, я использую команду печати step2 для печати изображения, он отлично работает! Здесь C# код для загрузки изображения:
public void SendFile(string filePath, string CR_LF)
{
FileInfo fi = new FileInfo(filePath);
using (FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{
byte[] byteFile = new byte[fs.Length];
string cmd = "IMAGE LOAD \"" + fi.Name + "\"," + byteFile.Length.ToString() + ",\" \"" + CR_LF;
ClientSocket.Send(encode.GetBytes(cmd));
fs.Read(byteFile, 0, byteFile.Length);
Thread.Sleep(1000);
ClientSocket.Send(byteFile);
}
}
Как насчет TCP-порта? В моем приложении расстояние между ПК и принтером велико, поэтому мне нужно использовать TCP, а не последовательный порт. –
Вы нашли ответ, как загрузить пользовательское изображение PCX (монохромное черно-белое изображение) через сеть TCP? У меня точно такая же проблема. Я отправляю команду IMAGE LOAD, новую строку (LF), записывает байты данных, остальные команды DirectProtocol. Изображение не сохраняется в принтере. – Whome