Печать изображения
Помогите пжл..
есть изображение и кнопка под ним <p><img src="image.png" alt="img" /></p> <input id="print_b" name="print" type="button" value="Распечатать" /> надо сделать, чтоб при нажатии на кнопку, распечатывалось изображение.. как это реализовать?? |
проблему решил.. только вот как убрать колонтитулы при печати?
|
jdiond, на сколько знаю подобную фишку программно можно провернуть только в IE (ActiveX)
|
Цитата:
https://developer.mozilla.org/en-US/...M/window.print <button onclick="window.print()">print</button> <img src="http://javascript.ru/forum/image.php?u=19820&dateline=1334914235"> <button id="printBut">print image</button> <script> window.onload = function () { var printBut = document.getElementById('printBut'); printBut.onclick = function () { var win = window.open(); win.document.write('<img src="http://javascript.ru/forum/image.php?u=19820&dateline=1334914235">'); win.print(); win.close() } } </script> PS: колонтитулы наверное можно убрать только в настройках самой печати, о чём можно предупредить пользователя |
bes, использовала ваш метод печати изображения через js. Не работает в IE и Opera. С чем это м.б. связано?
|
Цитата:
|
Народ, потестите мой код ( у меня просто принтера нету )
<!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> В хроме работает. |
колонтитулы так ни кто и не победил?
|
Барахло можно убрать только ручками. @page такого рода селекторов не предлагает. Одна радость что опции сохраняются. То есть один раз убрал и печатай.
Кроме того еще там недоступная со страницы опция печатать фоновые заливки и бла-бла по умолчанию отключенная. |
Часовой пояс GMT +3, время: 05:37. |