Использую TSPL2. Код обработчика:
private void button_Click(object sender, RoutedEventArgs e)
{
string testFileName = "TEST_PNG.png";
string testFilePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyPictures), testFileName);
byte[] bytes = File.ReadAllBytes(testFilePath);
string hexString = BitConverter.ToString(bytes).Replace("-", "");
string base64String = Convert.ToBase64String(bytes);
// DOWNLOAD F - for save to flash memory
string downloadCmd = $"DOWNLOAD \"{testFileName}\",{new System.IO.FileInfo(testFilePath).Length},{base64String}";
string putCmd = $"PUTPNG 50,50,\"{testFileName}\"";
TscLibWrapper.OpenPort("usb");
TscLibWrapper.SendCommand("DIRECTION 1");
TscLibWrapper.SendCommand("SET PEEL OFF");
TscLibWrapper.SendCommand("SET CUTTER OFF");
TscLibWrapper.SendCommand("SET CUTTER OFF");
TscLibWrapper.SendCommand("SET PARTIAL_CUTTER OFF");
TscLibWrapper.SendCommand("SET TEAR ON");
TscLibWrapper.SendCommand("CODEPAGE 1251");
TscLibWrapper.SendCommand("SIZE 58 mm,40 mm");
TscLibWrapper.SendCommand("CLS");
TscLibWrapper.SendCommand("SIZE 58 mm,40 mm");
TscLibWrapper.SendCommand(downloadCmd);
TscLibWrapper.SendCommand(putCmd);
TscLibWrapper.PrintLabel("1", "1");
TscLibWrapper.SendCommand($"KILL \"{testFileName}\"");
TscLibWrapper.ClosePort();
}
Принтер печатает пустую этикетку. Файл на принтер отправляется (проверяю через DiagTool).Скорее всего я как-то не правильно кодирую PNG-файл (пробовал HEXбез пробелов, Base64).
Если файл загрузить на принтер через его утилиту, то PUTPNG отрабатывает штатно, т.е. с файлом проблем нет.