Serializing a full web page is as simple as:
var serialized = document.body.innerHTML;
If you really need a complete document, including a head, then:
var serialized = '<head>' + document.getElementsByTagName('head')[0].innerHTML + '</head><body>' + document.body.innerHTML + '</body>';
Now all you have to do is send it through AJAX.
On server side rendering, it depends on what you mean by visualization. I am currently using wkhtmltopdf to implement the "save as PDF" function on my site. It uses webKit to render HTML before creating PDF, so it fully supports CSS and javascript.
And if you need to save it in the image instead of a PDF file, you can always use ghostscript to print a PDF file to a JPG / PNG file.
slebetman
source share