#javascript #печать #кроссбраузерность
Задача: сделать на сайте так, чтобы графический файл автоматически отправлялся на принтер. Сама печать легко запускается через window.print(), но при этом распечатанный результат получается разного размера из разных браузеров: из IE печатается, как и задумано, на весь лист А4, из Firefox картинка занимает меньше четверти листа, из Opera и Chrome — нечто среднее. Пробовал устанавливать размер картинки через CSS, указывая в качестве единицы измерения дюймы (in) — не помогает. Как сделать, чтобы рисунок печатался на полный лист из любого браузера? UPD: Решил проблему, установив для рисунка width:100% через css media=print
Ответы
Ответ 1
Браузеры практически не дают управлять параметрами печати. Для Опреы и Хрома можно указать отступы в CSS: @media print{ @page: {margin: 0%} } Остальные браузеры это игнорируют, подставляют значения, указываемые пользователем (или по дефолту). То же касается колонтитулов - полностью пользовательская настройка. А так печать картинки при выставленных одинаковых параметрах отступов, колонтитулов и галки "по ширине страницы" печатается одинаково. Устанавливайте картинке width:100% в правилах для @media print, дальнейшее будет зависеть от пользователя.Ответ 2
Вариант 1: переопределить css картинки через @media print{}. Вариант 2: перед печатью установить нужные настройки печати. Но этим будет заниматься пользователь - все-таки, принтер его.Ответ 3
Специально для вас подумал и вот что придумал: function atoprint(src) { var atext = ''; var captext = window.document.title; var alink = window.document.location; var prwin = open(''); //prwin.document.open(); prwin.document.writeln(htmls.text3); prwin.document.writeln(''+captext+'<\/h1>'); prwin.document.writeln('
'+atext+'<\/div>'); prwin.document.writeln('© site.ru<\/div>'); prwin.document.writeln('Страница материала: '+alink+'<\/div>'); prwin.document.writeln('<\/div><\/body><\/html>'); prwin.print(); prwin.close; }; передаете только src ну и в разметке что у меня есть тоже можете что нибудь поправить!
Комментариев нет:
Отправить комментарий