Нужно распечатать документ из программы, при этом, чтобы конечный пользователь не увидел поверх главного окна окошко с прогрессом печати
Категория: .NET
2011-09-11 17:59:33
Необходимо создать локальный сервер печати
code: #csharp
using System; using System.IO; using System.Printing; using System.Text; namespace PrintTest { class Program { static void Main(string[] args) { LocalPrintServer localPrintServer = new LocalPrintServer(); localPrintServer.NetPopup = false; // Убираем поп-ап о завершении печати // Задаем принтер для печати (можно выставить принтер по умолчанию) PrintQueue defaultPrintQueue = localPrintServer.GetPrintQueue("HP PSC 1500 series"); ; localPrintServer.DefaultPrintQueue = defaultPrintQueue; localPrintServer.Commit(); // Добавление задания PrintSystemJobInfo myPrintJob = defaultPrintQueue.AddJob(); // Отправляем нужный текст в поток задания Stream myStream = myPrintJob.JobStream; Byte[] myByteBuffer = UnicodeEncoding.Unicode.GetBytes("This is a test string for the print job stream."); myStream.Write(myByteBuffer, 0, myByteBuffer.Length); myStream.Close(); Console.WriteLine("Задание на печать добавлено в очередь печати"); Console.ReadLine(); } } }
Поделиться: