Очень медленная сетевая печать с использованием PrintServer и PrintQueue

Я работаю над приложением ASP.NET и мне нужно отправить документы на сетевой принтер. Я использовал PrintServer и PrintQueue для достижения цели следующим образом:

using System.Printing;

private void PrintTicket
{
  var server = "Network Server Name";
  var filePath = "File to Print";
  var printer = "Network Printer Name";

  var printerServer = new PrintServer(String.Format(@"\\{0}", server));
  var printQueue = printerServer.GetPrintQueue(printer);

  printQueue.AddJob("New Printing Job", filePath, false);
}

Сетевой принтер может быть найден, и задание на печать выполнено.

Однако производительность очень низкая. При выполнении метода printQueue.AddJob() для начала печати требовалось 5-10 секунд. Если принтер подключен к моей локальной машине, проблем с производительностью нет вообще.

Какие-либо предложения? Заранее спасибо.


person ping    schedule 17.01.2013    source источник


Ответы (1)


Вместо использования класса PrintQueue вы можете просто использовать File.Copy(filePath, printerDestination, true); Я пробовал оба варианта, то есть использование очереди печати, а также копирование файла и копирование файла намного быстрее по сравнению с использованием класса очереди печати.

Спасибо, Арнаб.

person Arnab Das    schedule 17.10.2016