Как добиться тихой печати с использованием JavaScript? Не хотите показывать предварительный просмотр
var content = document.getElementById("container");
var pri = document.getElementById("contentstoprint").contentWindow;
pri.document.open();
pri.document.write(content.innerHTML);
pri.document.close();
pri.focus();
pri.print();
используя это, чтобы напечатать элементы div, но мне нужно напечатать его в фоновом режиме, а не после предварительного просмотра и нажатия кнопки "Печать" на панели предварительного просмотра. Я пытаюсь сделать это с Reactjs вместе с Redux.
2 ответа
Это невозможно. Браузеры требуют, чтобы пользователи подтвердили, что они действительно хотят печатать.
Если бы это было не так, то было бы тривиально включить веб-страницу, которая сделала бы что-то вроде setInterval(print, 1000);
а затем впустую большое количество чернил и бумаги. (Представьте себе офисную среду, в которой принтер находится на другом конце комнаты для пользователя и используется многими людьми).
Вам нужно специальное расширение для браузера, чтобы добиться тихой печати. Для Firefox вы можете использовать JS Print Setup: https://addons.mozilla.org/de/firefox/addon/js-print-setup/
Таким образом, вы можете настроить принтер и печатать прямо из Javascript.