Member 9631865 Ответов: 0

Как я могу печатать непосредственно на принтере с помощью служб windows, C#


Все идет хорошо, но принтер никогда не печатает отчет.


Reportes rep = new Reportes();
               DataTable dt = new DataTable();

               dt = rep.GetDataReporRQ(id, TipoDoc);

               Rpt_Requisicion rpt = new Rpt_Requisicion();
               rpt.SetDataSource(dt);
               rpt.PrintOptions.PrinterName = printer;
               rpt.PrintToPrinter(1,true, 0, 0);

               EventLog.WriteEntry("Impreso" + TipoDoc + "_" + id.ToString());



Что я уже пробовал:

Reportes rep = new Reportes();
               DataTable dt = new DataTable();

               dt = rep.GetDataReporRQ(id, TipoDoc);

               Rpt_Requisicion rpt = new Rpt_Requisicion();
               rpt.SetDataSource(dt);
               rpt.PrintOptions.PrinterName = printer;
               rpt.PrintToPrinter(1,true, 0, 0);

               EventLog.WriteEntry("Impreso" + TipoDoc + "_" + id.ToString());

RickZeeland

Мы понятия не имеем, какую библиотеку или программное обеспечение вы используете, пожалуйста, добавьте дополнительную информацию к вашему вопросу.

Dave Kreskowiak

Во-первых, принтеры, которые вы видите в своей учетной записи, не существуют для системной учетной записи. В системной учетной записи не определены никакие принтеры.

Чтобы обойти это, вам нужно создать учетную запись пользователя для запуска вашей службы. Войдите в консоль с этой учетной записью, настройте нужные принтеры и выйдите из системы. Снова войдите в свою учетную запись и настройте службу для входа в систему с помощью учетной записи, созданной для этой цели.

0 Ответов