Can this be done with SharePoint Online?
Failing that, for an entire site?
As far as I know Ribbon is part of SharePoint Master Page, hiding it on a certain page isn't possible rather its SharePoint 2010 or SharePoint online.
Now there might be some hack available but I am not aware of one.
Hope it helps.
Create a JS file (HideScript.js) and paste the following code in it, which hides the ribbon for a certain page. Upload the JS file to some document library for e.g. "SiteAssets"
Refer the JS in your page layout(for which you would like to hide ribbon) like this:
Update: with CSS it's just
This is possible and there are many tuts on this, if you dont want to produce a custom solution than i highly recommend using this tool,
set s4-ribbonrow to none (could use feature to performe this ;))
Happy coding ;)