Я создал файл шаблона ZPL, и в своем приложении я прочитал этот файл шаблона, ищу определенную строку, заменяю эту строку данными из моего приложения и затем отправляю ее на принтер.
Когда я запускаю принтер через веб-сервер для печати шаблона, все в порядке.
Но когда я запускаю печать с помощью своего приложения, я сначала получаю нужную этикетку, а затем он печатает вторую сразу после этого на нем есть только несколько черных полос одинакового размера, и я не знаю почему.

Это код, который подключается к моему принтеру, интерпретирует шаблон этикетки и отправляет команды для печати на принтер:
public void PrintLabel(string TemplateFile, LabelContent cont)
{
logger.Info("Trying to print label at printer " + set.IP + " ...");
string content;
// read template
content = File.ReadAllText(TemplateFile);
// loop over all attributes
foreach (var prop in cont.GetType().GetProperties())
{
var srch = "*" + prop.Name + "*";
var rplc = prop.GetValue(cont, null).ToString(); // simple datatype
logger.Trace("Trying to find/replace [" + srch + "] with [" + rplc + "]");
content = content.Replace(srch, rplc);
}
var lines = content.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
// print it
var eth = new TSCSDK.ethernet();
if (eth.openport(set.IP, set.Port))
{
foreach (var l in lines)
{
logger.Debug("[" + set.IP + "]: prn.line: " + l);
eth.sendcommand(l);
}
eth.printlabel("1", "1");
eth.closeport();
logger.Info("[" + set.IP + "]: Done. Label printed");
}
else
{
throw new Exception("[" + set.IP + "]: Error opening tcp connection to printer");
}
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... pplication
Мобильная версия