I had bought a new Wireless HP Laserjet printer and connected it to my wireless router.  Print jobs tested from wireless devices on the same subnet worked flawlessly.

Next, I needed to be able to print from my PCs directly outside of the wireless router.  A brief overview of my network at home is:

Cable Modem -> Cisco 851 Router (hardwired PCs, IP Phone, VPN) -> Linksys E4200 Wireless Router (Laptops, Printer).

I configured port forwarding on the wireless router to forward port 9100 to the printer’s IP address.  I setup a new network printer and told it to use the IP address of the outside interface on the wireless router.  The printer started printing, but then it would not stop.  The PC kept sending the job over and over, and it would never clear out of the print queue. [more]

Within the ports tab of the printer properties on my PC, I had to uncheck “Enable Bi-Directional Support”.  Bi-Directional printing can allow the printer to communicate back to the PC to tell it that the print job has completed.  Turning this off tells the PC to send the job to the printer and then remove it from queue