private void PrintWithQueue(PrintingQueue pq, Operation operation) { Thread printThread = new Thread(() => GdiPrinter.Print(pq, GdiPrinterPrintAction)); // STA needed because of the use of WebBrowser (WinForms). printThread.SetApartmentState(ApartmentState.STA); printThread.Start(); // Intentionally synchronize thread until its done. printThread.Join(); }
internal void Print(PrintingQueue queue) { _pages = SplitMultipageTiff(ImagePath); ThreadPool.QueueUserWorkItem(w => GdiPrinter.Print(queue, GdiPrinterPrintAction)); }