If you have configured a shared printer on another computer on the network or attached to the network directly via a print server box then you may find that you can print successfully to that printer while you are not connected to the internet but that you can't print when connected.
The most likely cause of this problem is that you are running a Windows network and have allowed Windows to allocate the ip addresses to the computers on your network. Unfortunately whoever set up this function at Microsoft didn't read the ip address standards properly and configured the automatic assignment of ip addresses to computers on a tcp/ip network from an address range allocated to the internet and not one allocated for use for private networks. This means that the computers are automatically allocated addresses in the 169.154.x.x range instead of the 192.168.0.x range. When you are connected to the internet the network printer appears to be located on the internet itself and the system goes off there looking for the printer (and is of course unable to find it).
The problem solves itself once you disconnect from the internet as the printer can then be found and everything you sent to it while online will then be printed.
A permanent fix is to assign fixed private network ip addresses to all of the computers on your network instead of letting Windows allocate them. Once the printer is located at a private network ip address there will be no problems with being able to print to that printer at any time whether connected to the internet or not.
As an added bonus, allocating fixed addresses to your networked computers will make them faster to boot.
This article written by Stephen Chapman, Felgall Pty Ltd.