Написанная мною программа используется для отправки отгрузочных этикеток на принтер этикеток - или, точнее, на пять принтеров, каждый на отдельном драйвере, который я настроил. Пропускная способность составляет один раз в три секунды для каждого принтера, поэтому появляется множество окон с надписью «Печать - Страница 1 документа» - иногда для всех пяти принтеров одновременно - и мы планируем расширить программу до 10 принтеров. , Есть ли способ настроить драйверы, чтобы не показывать это окно? Программа и драйверы находятся на компьютере под управлением Windows Server 2012 R2. Драйвер предназначен для принтеров InterMec px4i, и я использую System.Рисунок.Печать под C # .NET 4.0.
1 ответ
0
Оказывается, именно контроллер печати по умолчанию сам вызывает окно. Система.Рисунок.Печать дает всем новым PrintDocuments контроллер печати по умолчанию. При настройке страницы для печати моя программа выполняет следующие инструкции:
PrintDocument pd = new PrintDocument();
pd.PrinterSettings.PrinterName = PrinterName;
...
Чтобы решить эту проблему, я дал ему новый контроллер печати с помощью конструктора по умолчанию:
pd.PrintController = new StandardPrintController();
Теперь нет окон «Печать ...», и это также заметно повысило производительность моей программы. Я надеюсь, что это поможет всем, кто столкнулся с этой проблемой, но, вероятно, его следует перенести в StackOverflow, так как это проблема программирования, а не проблема Windows.