Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Печать изображения (https://javascript.ru/forum/dom-window/30613-pechat-izobrazheniya.html)

jdiond 10.08.2012 01:00

Печать изображения
 
Помогите пжл..
есть изображение и кнопка под ним
<p><img src="image.png" alt="img" /></p>
<input id="print_b" name="print" type="button" value="Распечатать" />
надо сделать, чтоб при нажатии на кнопку, распечатывалось изображение.. как это реализовать??

jdiond 10.08.2012 03:19

проблему решил.. только вот как убрать колонтитулы при печати?

lord2kim 10.08.2012 08:42

jdiond, на сколько знаю подобную фишку программно можно провернуть только в IE (ActiveX)

bes 10.08.2012 11:07

Цитата:

Сообщение от jdiond
проблему решил.. только вот как убрать колонтитулы при печати?

Как решили, поделитесь результатом (в отдельном окне открывали)

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: колонтитулы наверное можно убрать только в настройках самой печати, о чём можно предупредить пользователя

olga_s 27.03.2013 17:27

bes, использовала ваш метод печати изображения через js. Не работает в IE и Opera. С чем это м.б. связано?

bes 27.03.2013 20:18

Цитата:

Сообщение от olga_s
bes, использовала ваш метод печати изображения через js. Не работает в IE и Opera. С чем это м.б. связано?

с динамически открываемыми окнами

danik.js 27.03.2013 23:22

Народ, потестите мой код ( у меня просто принтера нету )
<!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>

В хроме работает.

I_CaR 07.03.2014 06:49

колонтитулы так ни кто и не победил?

kostyanet 07.03.2014 09:25

Барахло можно убрать только ручками. @page такого рода селекторов не предлагает. Одна радость что опции сохраняются. То есть один раз убрал и печатай.

Кроме того еще там недоступная со страницы опция печатать фоновые заливки и бла-бла по умолчанию отключенная.


Часовой пояс GMT +3, время: 04:41.