Я разработал приложение C#.NET для печати карточек, и оно работает на принтере Fargo DTC 1000. Теперь я сменил свой принтер (ZXP серии 3) для той же цели, печатая карты (только текст), но он не работает. Я всегда получаю сообщение об ошибке «Сломать ленту», но я изменил это. Принтер работает нормально, если я отправляю на печать из блокнота.
Приложение связывается через локальную сеть с принтером, который используется совместно на сервере. Приложение-->Сервер-->Компьютер-->Принтер
В итоге код работает и принтер работает, также я добираюсь до принтера через код. Проблема в том, что я не могу заставить его работать через код.
Я использую System.Drawing API.
Пожалуйста, я закончил со всеми своими идеями. Заранее спасибо!
Это основные методы.
public void Print()
{
if (Parameter == null)
throw new Exception("No existen parametros para la impresión");
PrintDocument pd = new PrintDocument
{
DefaultPageSettings =
{
Landscape = true,
Margins = new Margins(0, 0, 0, 0)
},
PrinterSettings = {PrinterName = Parameter.PrinterName}
};
pd.PrintPage += pd_PrintPage;
pd.Print();
}
private void pd_PrintPage(Object sender, PrintPageEventArgs ev)
{
Font printFont = new Font("Arial", FontSize, FontStyle.Bold);
SetDataToPrint(Parameter.IdMovItem);
ev.Graphics.PageUnit = GraphicsUnit.Inch;
ev.Graphics.DrawString(Data.Asegurado, printFont, Brushes.Black, Parameter.AseguradoX, Parameter.AseguradoY,
new StringFormat());
ev.HasMorePages = false;
}