Is the printer itself saying "Offline" on the panel or is it just Windows saying it is offline?
Are you connected via USB, Parallel, or Network?
If Network, can you pull up the web interface for the printer (requires JAVA). You can get the IP address from the printer. I usually just hit "Information -> Print Configuration"
Then just type in that address: example: http://10.10.10.10
If that doesn't pull up anything, even an error page, then chances are the JetDirect card is bad.
HP JetDirect 600, 610, and 620 were notorious for going bad. I think I have 5 of them that are bad or flakey.
If you don't have a statically assigned IP address for the printer, that really helps. The 4000 series came out before all the auto-detect stuff so Windows may not update the IP if it changes.
To statically assign from the printers buttons is easy, but time consuming. If you can pull up the web page and get into the JetDirect settings, you can assign it.
I can go into better detail if needed.
----
If the printer itself displays offline, then there is a sensor that has gone wonky. Most likely the paper tray sensor.
Also, make sure the printer isn't set to manual feed in the settings. It can detect the tray 1 is closed and it will send the printer into offline more.