Народ, потестите мой код ( у меня просто принтера нету )
<!DOCTYPE html>
<meta charset="utf-8" />
<button onclick="printImage()">Печать</button>
<div id="image"><img src="http://ikeep.ws/uploads/posts/2011-08/1313657478_1235508295_vo_iguasu_br_3.jpg" /></div>
<script>
function printImage() {
printHTML(document.getElementById('image').innerHTML);
}
function printHTML(html) {
var frame = document.createElement('iframe');
frame.style.cssText = 'border:none;position:fixed;left:100%;';
frame.onload = function() {
var cssText = 'body{display:none} @media print{body{display:block}}';
var style = this.contentDocument.createElement('style');
if (style.readyState == 'loading') {
style.onreadystatechange = function() {
alert(this.readyState);
if (this.readyState = 'complete') {
this.sheet.cssText = cssText;
}
}
} else {
style.textContent = cssText;
}
this.contentDocument.getElementsByTagName('head')[0].appendChild(style);
this.contentDocument.body.innerHTML = html;
this.contentWindow.print();
setTimeout(function(){
frame.parentNode.removeChild(frame);
}, 0);
}
document.body.appendChild(frame);
}
</script>
В хроме работает.