So I ran into an issue the other day where a system would take up to 30 seconds to display a print dialog on any installed printer. Almost as if the system was encountering some kind of timeout when trying to render the print dialog. Turns out the problem manifested itself only in applications like Adobe Acrobat, WordPad, and QuickBooks, but not in Microsoft Office 2010 applications. After some digging, I found the issue is with the PrintDocument .NET method. It enumerates the available printers, so if one of these printers is a network printer that can’t be reached the system will search for it for up to 20 seconds. Here’s how to resolve the issue:
[Problem] Print dialog is extremely slow to come up in some applications on Windows XP/Windows 7.
[step 1] Click Start->Devices and Printers.
[step 2] Find any printers that are greyed out and try to delete them from the system (right-click and select delete). NOTE: If, after deleting a printer it doesn’t go away and states just deleting, you may want to check its queue for any pending jobs. To do this, simply double click (XP) or right-click and select “See what’s printing” (Win7) it and then cancel any pending print jobs in the queue. Once the queue is empty, you should be able to delete the printer.
[step 3] Check each remaining printer to make sure that it can bring up a print queue. If any printer hangs or fails to bring up a print queue, delete it and/or re-install it. Chances are, your delays are caused by a single network printer that is no longer connected to the network or is offline.
[step 4] Now send a test job to a working printer to confirm that the issue has been resolved.