Печать изображения
Помогите пжл..
есть изображение и кнопка под ним <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, время: 20:21. |