I have seen this issue basically when printing even a test page it would put itself offline, same goes for restarting the print spooler and then trying to print, it probably goes to offline as well.
This has to do with the SNMP settings for the printer. Once you turn it off, the printer stays online.
Here's how you do it.
1. Right click on the printer and select properties
2. Go to the Ports tab and highlight the port for your canon
3. Click the configure port button
4. Deselect the SNMP status enabled checkbox.
Once that's done the printer should work fairly well.
Your Welcome, glad I could be of assistance, If you need anymore help please ask, otherwise have a good night and god bless! Please accept so I can be compensated for my time/work also feedback is highly appreciated!