to commonly asked questions.

Printer not printing correctly. Possible onboard memory corruption.

I need your help for printing from my computer and scanning. 
My problem is when I try to print images of decorating products from my Mac from the internet or emails my printer often says printer full or another error code (I am not saving anything on my printer to my knowledge).  If I turn it off and on I may get a few items to print and then it sends the error again. That’s why I wondered if I needed a special printer for my Mac? Or do I need to save the images in a certain type of format before I print? Does this make sense? My printer is a HP M477fnw.

Based on this description this seems very likely a printer specific problem. More specifically it sounds like the printer's onboard memory is having trouble keeping a temporary copy of any document it needs to print. All printers have a small amount of memory that holds the job on the printer while it prints then that file is removed from memory to make room for the next print. The HP M477 is a good printer and should have no issues printing from any Mac. A couple of things to try before looking at a new printer:

Resetting defaults on the printer itself. Using the printer's interface (the screen on the printer) navigate to the settings menu and look for a "Reset Defaults" button. This would reset the printer back to the way it shipped from the store. Using this option should reset the printer's memory and may allow it to function correctly. There is another reset that has to do with the wifi network but that is unlikely the issue.

Another option to try would be to use a different driver. There are two types of drivers the printer will use when printing from a computer. The driver written by HP and the driver written by Apple called "AirPrint". AirPrint is the standard driver now for all printers but could result in some functionality issues. To choose the drive you'd prefer to use (I suggest testing with either driver and see if that resolves the problem) do the following:

Open system preferences
go to "printers and scanners"

Select the printer in the left column and hit the minus key at the bottom. This will remove the printer.

Now hit the plus sign to re add the printer. The printer will show up in the list (if correctly on the network via wifi, ethernet, or usb cable).
Looking below, it should give you the option to chose which driver. Try one. Print several items. If that doesn't work, repeat the process to remove the printer, re add the printer, then choose the opposite driver.

If you do not see the HP driver in the list, you can download it from HP's website. They may have an updated driver for your specific Operating system version. example: 10.12, 10.13, 10.14.

These ideas are completely separate. One deals with reseting the printer itself, the other deals with changing the driver on the computer. You can try both to see if that resolves the issue. My instinct is telling me it's an onboard memory issue. Due to the high cost of that specific printer, I wouldn't suggest replacing it until you've tried both steps here, you may also try directly connecting via a USB cable instead of wifi if that is the case, then last resort, contacting HP support which is generally a horrible experience.

Warning: never pay for technical support from HP. There are many fraud scams out there pretending to be a tech support company that require a credit card before they will answer questions. I've had several clients bitten by that.
This image is a theme.plist hack